view docs/DEVELOPMENT.md @ 4488:bff6c5c1db4f

client: pdf-gen: improve adding bottleneck info to pdf * Check if the bottleneck is in the current view to add its info to the exported pdf and the pdf filename, this avoid wrong filename and wrong info in pdf in case view has been changed to another location. * Set the bottleneck to print after moving to it in map.
author Fadi Abbud <fadi.abbud@intevation.de>
date Fri, 27 Sep 2019 11:15:02 +0200
parents 70444dce0b31
children
line wrap: on
line source

# Development

Main development is done on GNU/Linux systems, mainly Debian (stretch)
or Ubuntu (18.04 LTS "Bionic Beaver"). First try packages from these
distributions.

`Makefile` requires GNU Make for building. And `.sh` files refer to Bash.
(Both are standard in GNU/Linux setups.)


# View source code history

If you want to see the source code structure and history
on our local machine (instead of online):
  `hg serve`
from Mercurial SCM will start a local server. Install the
[HighlightExtension](https://www.mercurial-scm.org/wiki/HighlightExtension)
to enable syntax highlighting.


## Backend

You need a working [Go](https://golang.org/dl) build environment (1.13+).

* Install dependencies

    `sh 3rdpartylibs`

* Build

    Prerequesite: compile server
    ```
    cd cmd/gemma/
    go build
    cd ../../
    ```

* Run
    Run server with  `./cmd/gemma/gemma`


### View source code documentation interactively

Use https://godoc.org/golang.org/x/tools/cmd/godoc
(coming with package `golang-golang-x-tools` on Ubuntu.)
to see the formatted documentation.

Started in the top level directory like
 `godoc  -http=:6060`
you can access the documentation at
`http://localhost:6060/pkg/gemma.intevation.de/?m=all`

Hints:
 * A parameter like `-goroot /usr/lib/go-1.13` may avoid warnings, if
   the goroot is somewhere else.
 * Clicking on a function declaration header will take you to the source
   code. (Or changing `?m=all` to `?m=src?`).


## Client

See [client/README](../client/README.md) for details.