Changes between Version 4 and Version 5 of G8SourceLayout


Ignore:
Timestamp:
Jun 2, 2020, 6:55:46 PM (4 years ago)
Author:
wenzeslaus
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • G8SourceLayout

    v4 v5  
    3131Questions:
    3232* What would qualify as compiling or source code?
    33 * Should `include` be part of this? Some projects have it at the top level.
     33 * Is it "everything worth compiling" or perhaps just C, C++ and Python code or even just C and C++ code?
     34 * Example is locale. But also docs is compiled.
     35* Should `include` be part of this?
     36 * Some projects have it at the top level.
     37* Some projects divide code into src, include and apps. Should we use that too?
     38 * This may help separating dirs for module families (raster, vector, ...) from the rest of the source code.
     39
     40Current challenges (strangenesses):
     41* `include` contains things for make, so any includes would go here? E.g., Jinja templates if we would have some or more realistic example `*.cmake` files.
     42* `include` does not contain grass, but the header files are there directly. Common source code layout nowadays is to have a directory named as the resulting directory in the distribution, i.e., not `include/*.h` but `include/grass/*.h`. This makes it easier for many code editing tools.
     43* Python code in `lib/python` is next to C libraries which may look like it is a C library to communicate with Python.
     44* `lib/python` suffers from the same as header files in `include`. In this case it is even little more serious because it breaks rules on how a Python package should look like. Again, dir named `grass` should be inserted before the dir with the subpackages.
     45* `gui/wxpython` again similar to `include` and `lib/python` because there is no "package" directory, but a greater reorganization may be needed as the "wxgui package" is not even in the distribution and the subdirectories are all top-level packages.
    3446
    3547Subdirectories: