Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure repository, to move all source code into /src folder #6837

Closed
jmckenna opened this issue Feb 17, 2023 · 4 comments
Closed

Restructure repository, to move all source code into /src folder #6837

jmckenna opened this issue Feb 17, 2023 · 4 comments

Comments

@jmckenna
Copy link
Member

jmckenna commented Feb 17, 2023

Reasoning

  • for the user, it is much easier to understand a repository when the general files (READMEs, markdown files, CMakelists.txt, .yaml files) only exist in the root directory, and the source files (.c, .h, cpp, etc) live in /src
  • this is the common structure now, in FOSS4G projects (such as the QGIS repo)
  • it is so much easier to come to a new repository for the first time, and understand it, as the important markdown files are easily found

Proposed layout

MapServer/
      .github/
      ci/
      cmake/
      etc/
      fonts/
      fuzzers/
      msautotest/
      scripts/
      share/
      src/
          apache/
          flatgeobuf/
          mapscript/
          opengl/
          renderers/
          third-party/
          *.c
          *.cpp
          *.h
      symbols/
      tests/
      xmlmapfile/
      .travis.yml
      appveyor.yml
      CMakeLists.txt
      CONTRIBUTING.md
      HISTORY.md
      LICENSE.md
      README.md
      SECURITY.md

Timing

I would love to do this for the imminent 8.0.1 release, but this is a major impact to packagers, so instead I propose to tackle this for 8.2.0 instead. (likely also include #6593 )

@jmckenna jmckenna added this to the 8.2.0 Release milestone Feb 17, 2023
@landryb
Copy link
Contributor

landryb commented Feb 17, 2023

fine with me as a packager - whenever you want, and welcomed !

@sebastic
Copy link
Contributor

At first glance it seems like well intended but pointless busywork.

Git makes tracking renamed/moved files easier, but the diff for this source tree reorganisation will likely be a PITA to review. Fortunately the source tree for MapServer is relatively small (unlike QGIS for which I've already spent a few hours today reviewing the changes between 3.22.16 and 3.28.3 being nowhere near finished), so it might not be such a pain.

A source tree reorganisation like this is completely inappropriate for a patch release like 8.0.1, for a new minor release like 8.2.0 it's fine.

@sdlime
Copy link
Member

sdlime commented Feb 17, 2023

I actually like the idea but agree with @sebastic on timing. Might also be worth thinking about separating the apps (e.g. map2img, mapserv, etc...) from the library source. I see gdal has an "apps" directory for that purpose.

@geographika
Copy link
Member

@jmckenna - I think this can now be closed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants