Version 4 (modified by 4 years ago) ( diff ) | ,
---|
GRASS 8 new source layout
Rationale: At the moment source directory top level is a mess — distribution / OS specific folders are mixed with source code folders. Moving all source to src would make directory layout cleaner. G8 release is a great opportunity to break everything to make life better. Keep in mind — this is just a proposal to start discussion! Add your input to make it happen.
Folder structure
How to read: new folder name at the top level, current folders listed below. How to write: add your comments to any item you think should be moved somewhere else etc.
CI
Continuous Integration: scripts, lists of dependencies, configurations which are not part of the specific CI configuration files.
Not all files will be here. For example workflows of GitHub Actions will be in their dedicated directory.
Questions:
- Do we need this as a separate entry or it should go into packaging?
- It is not clear which dependencies go.
- CI is also running tests which is not necessarily (main focus of) packaging.
doc
Documentation, that is not individual module help files.
- doc
src
All source of GRASS. Should contain everything worth compiling.
Questions:
- What would qualify as compiling or source code?
- Should
include
be part of this? Some projects have it at the top level.
Subdirectories:
- db
- display
- general
- gui
- imagery
- include
- lib
- locale or should go to the top level?
- misc
- ps
- raster
- raster3d
- scripts
- temporal
- vector
packaging
Every distribution or platform specific scripts, build recipes etc. Question Are there some packaging systems that require its related files to live on the top level?
- docker
- macosx
- mswindows
- rpm
- singularity
- tools/vagrant => vagrant
utils
Helper scripts not intended to be installed as a part of GRASS package.
- tools
tests
Testing infrastructure.
Questions:
- We don't really have a separate tests directory now with all tests. We have tests spread in the individual directories they test. So the question is if there is enough on the top level to go into this dir.
Subdirectories:
- demolocation
- testsuite