annotate docs/DEVELOPMENT.md @ 5560:f2204f91d286

Join the log lines of imports to the log exports to recover data from them. Used in SR export to extract information that where in the meta json but now are only found in the log.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 09 Feb 2022 18:34:40 +0100
parents 70444dce0b31
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 # Development
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
4432
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
3 Main development is done on GNU/Linux systems, mainly Debian (stretch)
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
4 or Ubuntu (18.04 LTS "Bionic Beaver"). First try packages from these
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
5 distributions.
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
6
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
7 `Makefile` requires GNU Make for building. And `.sh` files refer to Bash.
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
8 (Both are standard in GNU/Linux setups.)
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
9
aaab0ebde623 docs: add soem dev system requirements
Bernhard Reiter <bernhard@intevation.de>
parents: 4429
diff changeset
10
4429
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
11 # View source code history
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
12
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
13 If you want to see the source code structure and history
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
14 on our local machine (instead of online):
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
15 `hg serve`
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
16 from Mercurial SCM will start a local server. Install the
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
17 [HighlightExtension](https://www.mercurial-scm.org/wiki/HighlightExtension)
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
18 to enable syntax highlighting.
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
19
1cb570c69b63 docs: add hint how to use hg serve
Bernhard Reiter <bernhard@intevation.de>
parents: 4427
diff changeset
20
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 ## Backend
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22
4466
70444dce0b31 Suggest usage of Go 1.13+.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4432
diff changeset
23 You need a working [Go](https://golang.org/dl) build environment (1.13+).
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 * Install dependencies
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 `sh 3rdpartylibs`
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 * Build
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 Prerequesite: compile server
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 ```
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 cd cmd/gemma/
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 go build
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 cd ../../
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 ```
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 * Run
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 Run server with `./cmd/gemma/gemma`
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
4427
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
41
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
42 ### View source code documentation interactively
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
43
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
44 Use https://godoc.org/golang.org/x/tools/cmd/godoc
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
45 (coming with package `golang-golang-x-tools` on Ubuntu.)
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
46 to see the formatted documentation.
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
47
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
48 Started in the top level directory like
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
49 `godoc -http=:6060`
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
50 you can access the documentation at
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
51 `http://localhost:6060/pkg/gemma.intevation.de/?m=all`
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
52
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
53 Hints:
4466
70444dce0b31 Suggest usage of Go 1.13+.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4432
diff changeset
54 * A parameter like `-goroot /usr/lib/go-1.13` may avoid warnings, if
4427
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
55 the goroot is somewhere else.
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
56 * Clicking on a function declaration header will take you to the source
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
57 code. (Or changing `?m=all` to `?m=src?`).
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
58
b195bc79e3e8 docs: add hints for starting godoc
Bernhard Reiter <bernhard@intevation.de>
parents: 291
diff changeset
59
291
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 ## Client
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61
9d6ba97a31d2 Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 See [client/README](../client/README.md) for details.