[GRASS-dev] Source code layout reorganization for G8

Hello list,
as G8 release is a great opportunity to break things, we could
reorganize our source code directory layout. At the moment we have
docker together with documentation and library intermingled with
MS-Windows for MacOSX. Bringing to a separate thread from "where to
make compiling instructions available"
https://www.mail-archive.com/grass-dev@lists.osgeo.org/msg59974.html

I have created an initial proposal page in Trac (linked to GRASS 8
planning page): https://trac.osgeo.org/grass/wiki/G8SourceLayout

Feel free to express your opinion — is it worth? How the new directory
layout should look like? Any technical restrictions?

Yes, it would break history, scripts, Make files = no fun. But if we
don't do it now, we'll be stuck till G9 release.

Waiting for feedback,
Māris.

Hi Maris,

On Tue, Jun 2, 2020 at 5:34 AM Maris Nartiss <maris.gis@gmail.com> wrote:

Hello list,
as G8 release is a great opportunity to break things, we could
reorganize our source code directory layout.

Well, technically, source code layout is generally not part of an API and we don’t promote it that way, so changing it anytime shouldn’t be a problem. Practically, there might be build and packaging scripts and local patches people use which may break, but perhaps minor versions are a good match for this work too.

At the moment we have
docker together with documentation and library intermingled with
MS-Windows for MacOSX. Bringing to a separate thread from “where to
make compiling instructions available”
https://www.mail-archive.com/grass-dev@lists.osgeo.org/msg59974.html

Even just getting the “module families” from the root dir would help. Plus there is couple of issues with the current include, lib/python, and gui/wxpython directories.

I have created an initial proposal page in Trac (linked to GRASS 8
planning page): https://trac.osgeo.org/grass/wiki/G8SourceLayout

Feel free to express your opinion — is it worth? How the new directory
layout should look like? Any technical restrictions?

I have extended the page couple of days ago.

Yes, it would break history, scripts, Make files = no fun. But if we
don’t do it now, we’ll be stuck till G9 release.

Other things like splitting into multiple files, formatting, or even moving things around also make searching history more complicated and I think this fits into the line with things which are worth it.

A lot of the changes is independent, so that makes it simpler, but having an overall vision where these would fall in is helpful.

Best,
Vaclav

Thank you Vaclav for your input!

otrd., 2020. g. 9. jūn., plkst. 04:34 — lietotājs Vaclav Petras
(<wenzeslaus@gmail.com>) rakstīja:

Hi Maris,

Well, technically, source code layout is generally not part of an API and we don't promote it that way, so changing it anytime shouldn't be a problem. Practically, there might be build and packaging scripts and local patches people use which may break, but perhaps minor versions are a good match for this work too.

Yes and no. Keep in mind — serious reordering of source code might
break things on our side for some time and might require updating
scripts for packagers. Thus it would be better to do it for G8 as
everyone should expect major breakage on a major release.

Even just getting the "module families" from the root dir would help. Plus there is couple of issues with the current include, lib/python, and gui/wxpython directories.

I have extended the page couple of days ago.

Thanks for the good points on problematic places.

Other things like splitting into multiple files, formatting, or even moving things around also make searching history more complicated and I think this fits into the line with things which are worth it.

A lot of the changes is independent, so that makes it simpler, but having an overall vision where these would fall in is helpful.

Best,
Vaclav

Thanks once more,
Māris.

This is happening:

https://github.com/OSGeo/grass/pull/1348
https://github.com/OSGeo/grass/pull/1350

On Tue, Jun 2, 2020 at 5:34 AM Maris Nartiss <maris.gis@gmail.com> wrote:

Hello list,
as G8 release is a great opportunity to break things, we could
reorganize our source code directory layout. At the moment we have
docker together with documentation and library intermingled with
MS-Windows for MacOSX. Bringing to a separate thread from “where to
make compiling instructions available”
https://www.mail-archive.com/grass-dev@lists.osgeo.org/msg59974.html

I have created an initial proposal page in Trac (linked to GRASS 8
planning page): https://trac.osgeo.org/grass/wiki/G8SourceLayout

Feel free to express your opinion — is it worth? How the new directory
layout should look like? Any technical restrictions?

Yes, it would break history, scripts, Make files = no fun. But if we
don’t do it now, we’ll be stuck till G9 release.

Waiting for feedback,
Māris.


grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev

tools → utils

https://github.com/OSGeo/grass/pull/1348

include/.h → include/grass/.h
https://github.com/OSGeo/grass/pull/1350

lib/python → python/grass
https://github.com/OSGeo/grass/pull/1356