= 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. * demolocation * testsuite