|
@@ -1,86 +1,104 @@
|
|
|
+[](https://travis-ci.com/OSGeo/grass)
|
|
|
+
|
|
|
GRASS GIS Development Subversion repository
|
|
|
+===========================================
|
|
|
|
|
|
-##########################################################
|
|
|
How to get write access here?
|
|
|
+-----------------------------
|
|
|
|
|
|
Write access is only granted to developers who agree to abide by
|
|
|
-RFC2 - Legal aspects of code contributions
|
|
|
- http://trac.osgeo.org/grass/wiki/RFC/2_LegalAspectsOfCodeContributions
|
|
|
-and the code submission guidelines
|
|
|
- http://trac.osgeo.org/grass/wiki/Submitting
|
|
|
+RFC2 - [Legal aspects of code contributions](http://trac.osgeo.org/grass/wiki/RFC/2_LegalAspectsOfCodeContributions)
|
|
|
+and the [code submission guidelines](http://trac.osgeo.org/grass/wiki/Submitting)
|
|
|
|
|
|
-This needs to be communicated to a GRASS developer. S/he will
|
|
|
+This needs to be communicated to a GRASS developer. S/he will
|
|
|
then possibly propose you to the GRASS Project Steering committee
|
|
|
-after a period of evaluation. For details, see
|
|
|
- http://trac.osgeo.org/grass/wiki/RFC
|
|
|
+after a period of evaluation. For details, see [here](http://trac.osgeo.org/grass/wiki/RFC)
|
|
|
|
|
|
Once write access is granted, you, the new developer need to
|
|
|
-obtain an "osgeo_id" at http://www.osgeo.org/osgeo_userid
|
|
|
-If you already have an "osgeo_id" but forgot it, search for it at
|
|
|
+obtain an `osgeo_id` at http://www.osgeo.org/osgeo_userid
|
|
|
+If you already have an `osgeo_id` but forgot it, search for it at
|
|
|
Search at http://www.osgeo.org/cgi-bin/ldap_web_search.py
|
|
|
|
|
|
-##########################################################
|
|
|
-How to compile GRASS:
|
|
|
- See INSTALL file.
|
|
|
+
|
|
|
+How to compile GRASS?
|
|
|
+---------------------
|
|
|
+
|
|
|
+> See INSTALL file.
|
|
|
|
|
|
Yes, you should really read INSTALL.
|
|
|
|
|
|
-##########################################################################
|
|
|
-How to generate the 'Programmer's Manual':
|
|
|
+How to generate the 'Programmer's Manual'?
|
|
|
+------------------------------------------
|
|
|
|
|
|
This needs doxygen (http://www.doxygen.org) and optionally
|
|
|
Graphviz dot (http://www.research.att.com/sw/tools/graphviz/).
|
|
|
|
|
|
To build the GRASS programmer's documentation, run
|
|
|
- make htmldocs
|
|
|
+```
|
|
|
+make htmldocs
|
|
|
+```
|
|
|
or to generate documentation as single html file (recommended for simple reading)
|
|
|
- make htmldocs-single
|
|
|
-here. This takes quite some time. The result is in lib/html/index.html
|
|
|
+```
|
|
|
+make htmldocs-single
|
|
|
+```
|
|
|
+here. This takes quite some time. The result is in `lib/html/index.html`
|
|
|
which refers to further document repositories in
|
|
|
+```
|
|
|
lib/vector/html/index.html
|
|
|
lib/db/html/index.html
|
|
|
lib/gis/html/index.html
|
|
|
+```
|
|
|
|
|
|
-The master file is: ./grasslib.dox where all sub-documents have to
|
|
|
+The master file is: `./grasslib.dox` where all sub-documents have to
|
|
|
be linked into.
|
|
|
|
|
|
To generate the documents in PDF format, run
|
|
|
- make pdfdocs
|
|
|
|
|
|
-An online version is available at:
|
|
|
-https://grass.osgeo.org/programming7/
|
|
|
+```
|
|
|
+make pdfdocs
|
|
|
+```
|
|
|
+
|
|
|
+An online version is available [here](https://grass.osgeo.org/programming7/)
|
|
|
|
|
|
## Docker
|
|
|
|
|
|
Build using the downloaded source code (in the directory with the
|
|
|
source code):
|
|
|
|
|
|
+```
|
|
|
docker build -t grassgis77 .
|
|
|
+```
|
|
|
|
|
|
A test run (assuming you have existing GRASS GIS location; it can be downloaded from
|
|
|
-https://grass.osgeo.org/sampledata/north_carolina/nc_basic_spm_grass7.zip)
|
|
|
+[here](https://grass.osgeo.org/sampledata/north_carolina/nc_basic_spm_grass7.zip))
|
|
|
|
|
|
- # case 1: launching in the grassdata directory in which the location is stored:
|
|
|
- docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data --env HOME=/data/ grassgis77 \
|
|
|
- grass --text nc_spm_08_grass7/user1 --exec g.region -p
|
|
|
+```
|
|
|
+# case 1: launching in the grassdata directory in which the location is stored:
|
|
|
+docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data --env HOME=/data/ grassgis77 \
|
|
|
+ grass --text nc_spm_08_grass7/user1 --exec g.region -p
|
|
|
|
|
|
- # case 2: launching anywhere
|
|
|
- docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis77 \
|
|
|
- grass /data/nc_basic_spm/PERMANENT --exec g.region -p
|
|
|
+# case 2: launching anywhere
|
|
|
+docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis77 \
|
|
|
+ grass /data/nc_basic_spm/PERMANENT --exec g.region -p
|
|
|
+```
|
|
|
|
|
|
Note that the first `grassgis77` is the name of the image while the second
|
|
|
`grass` is the name of the executable.
|
|
|
|
|
|
To run the tests (again assuming local location):
|
|
|
|
|
|
+```
|
|
|
docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \
|
|
|
grassgis77 grass /data/nc_basic_spm/PERMANENT --exec \
|
|
|
python -m grass.gunittest.main \
|
|
|
--location nc_basic_spm --location-type nc
|
|
|
+```
|
|
|
|
|
|
Note: If you compiled locally before building the Docker image, you may
|
|
|
encounter problems as the local configuration and locally compiled file
|
|
|
are copied to and used in the Docker image. To make sure you don't have
|
|
|
this issue, clean all the compiled files from the source code:
|
|
|
|
|
|
- make distclean
|
|
|
+```
|
|
|
+make distclean
|
|
|
+```
|