Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mprins committed Feb 13, 2023
1 parent 014cb38 commit 9f13ade
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 32 deletions.
4 changes: 2 additions & 2 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
| x.x-SNAPSHOT | ❌ (development) | Current PostgreSQL + PostGIS, Oracle 19c/21c + Spatial, 21 XE | Java 11, Tomcat 9, Docker 23 |
| 3.0.0 | ✔️ | PostgreSQL 11 - 15 + PostGIS 3.3, Oracle 19c/21c + Spatial | Java 11, Tomcat 9, Docker 23 |
| 3.0.0-rc1 || PostgreSQL 11 - 15 + PostGIS 3.3, Oracle 19c/21c + Spatial | Java 11, Tomcat 9, Docker 23 |
| 2.3.3 | :warning: (deprecated) | PostgreSQL 11 - 15 + PostGIS 3.3, Oracle 19c/21c + Spatial | Java 11, Tomcat 8.5/9, Docker 20 |
| =< 2.3.2 | | PostgreSQL 10 - 14 + PostGIS 3.2, Oracle 19c/21c + Spatial | Java 11, Tomcat 8.5 |
| 2.3.3 | :warning: (deprecated) | PostgreSQL 11 - 15 + PostGIS 3.3, Oracle 19c/21c + Spatial | Java 11, Tomcat 8.5/9, Docker 20 |
| =< 2.3.2 || PostgreSQL 10 - 14 + PostGIS 3.2, Oracle 19c/21c + Spatial | Java 11, Tomcat 8.5 |

_zie ook/see also: https://github.com/B3Partners/brmo/wiki/Systeemeisen

Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# BRMO

BasisRegistratie MidOffice (BRMO) biedt een gegevensmagazijn conform RSGB voor eenmalige opslag en efficiënt gebruik van de basisregistraties. Het gegevensmagazijn ondersteunt zowel geografische als administratieve gegevens en biedt vele mogelijkheden voor het laden en het gebruik van informatie.
BasisRegistratie MidOffice (BRMO) biedt een gegevensmagazijn conform RSGB voor eenmalige opslag en efficiënt gebruik van de basisregistraties.
Het gegevensmagazijn ondersteunt zowel geografische als administratieve gegevens en biedt vele mogelijkheden voor het laden en het gebruik van informatie.

Ga naar de [wiki](https://github.com/B3Partners/brmo/wiki) voor meer informatie.

Ga naar [releases](https://github.com/B3Partners/brmo/releases) voor de laatste (en eerdere) releases.

Ga naar de [ontwikkelaarshandleiding](https://b3partners.github.io/brmo/developer-notes.html) voor meer informatie over bouwen van de software.

[![Ubuntu PostgreSQL build](https://github.com/B3Partners/brmo/actions/workflows/linux.yml/badge.svg)](https://github.com/B3Partners/brmo/actions/workflows/linux.yml)
[![codecov](https://codecov.io/gh/B3Partners/brmo/branch/master/graph/badge.svg)](https://codecov.io/gh/B3Partners/brmo)
[![GitHub issues](https://img.shields.io/github/issues/B3Partners/brmo.svg)](https://github.com/B3Partners/brmo/issues)
Expand Down
62 changes: 33 additions & 29 deletions src/site/markdown/developer-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,20 @@
### Vereisten

- Java 11
- Maven 3.8.4 of hoger
- Docker 20.10.x met buildx 0.9 of hoger (dit vereiste kan worden overgeslagen als u geen docker images wilt bouwen of release artifacts wilt bouwen)
- Maven 3.8.7 of hoger
- Docker 23.0.x met buildx 0.10 of hoger (dit vereiste kan worden overgeslagen als u geen docker images wilt bouwen of
release artifacts wilt bouwen)

### Basisprocedure

1. doe je ding, als het mogelijk is gebruik `google` styling (voer `mvn fmt:format` uit om alle opmaak te corrigeren)
2. voer `mvn clean install` uit om te controleren of alle vereiste opmaak is toegepast en of alle tests slagen
3. commit en push je branch om een pull request te maken, gebruik de Nederlandse taal voor commit messages en pull request beschijvingen
3. commit en push je branch om een pull request te maken, gebruik de **Nederlandse taal** voor commit messages en pull
request beschijvingen zodat we consitente release note krijgen. De release notes worden gegenreerd uit de titel van
een pull request.
4. wacht op het doorlopen van de Q&A procedures en volledige CI, pas eventueel je PR aan
5. wacht op het doorlopen van de code review, pas eventueel je PR aan en merge je PR


## release maken

Een release bouwen begint met het uitvoeren van het commando `mvn clean release:prepare`
Expand All @@ -27,11 +29,12 @@ Tevens wordt er om een naam voor een tag gevraagd. In principe kan alle informat
commandline worden meegegeven, bijvoorbeeld:

```
mvn release:prepare -l rel-prepare.log -DautoVersionSubmodules=true -DdevelopmentVersion=3.0.1-SNAPSHOT -DreleaseVersion=3.0.0 -Dtag=v3.0.0 -T1
mvn release:prepare -l rel-prepare.log -DautoVersionSubmodules=true -DdevelopmentVersion=3.0.2-SNAPSHOT -DreleaseVersion=3.0.1 -Dtag=v3.0.1 -T1
mvn release:perform -l rel-perform.log -T1
```
_NB_ Voor het maken van de database documentatie is een draaiende, up-2-date databases met de betreffende RSGB
schema's (public, brk, bag) nodig op `jdbc:postgresql://127.0.0.1:5432/rsgb`.

_NB_ Voor het maken van de database documentatie is een draaiende, up-2-date databases met de betreffende RSGB
schema's (public, brk, bag) nodig op `jdbc:postgresql://127.0.0.1:5432/rsgb`.
Zorg dat de tabellen en views zijn aangemaakt (BAG!).

Met het commando `mvn release:perform` wordt daarna, op basis van de tag uit de
Expand All @@ -41,7 +44,8 @@ Voor het hele project kan dit even duren, oa. omdat de javadoc gebouwd wordt.

### Maven site bouwen en online brengen

De Maven site voor de BRMO leeft in de `gh-pages` branch van de repository, met onderstaande commando's kan de site worden
De Maven site voor de BRMO leeft in de `gh-pages` branch van de repository, met onderstaande commando's kan de site
worden
bijgewerkt en online gebracht.

- `cd target/checkout` (als je dit direct na een release doet)
Expand All @@ -52,7 +56,7 @@ _NB_ de git acties willen wel eens mislukken omdat de commandline te lang wordt.

### nieuwe ontwikkel cyclus

Na het maken van de release kun je het script `new-version-upgrades.sh` in de `datamodel/upgrade_scripts` directory
Na het maken van de release kun je het script `new-version-upgrades.sh` in de `datamodel/upgrade_scripts` directory
gebruiken om upgrade scripts voor de volgende release te maken.

```
Expand All @@ -61,10 +65,10 @@ cd datamodel/upgrade_scripts
git push
```


### git configuratie

Op sommige systemen en bij sommige versies van git moet er eea. worden ingesteld voorafgaand aan het starten van de release procedure.
Op sommige systemen en bij sommige versies van git moet er eea. worden ingesteld voorafgaand aan het starten van de
release procedure.

```
git config --add status.displayCommentPrefix true
Expand All @@ -78,42 +82,42 @@ Er zijn drie Maven profielen (postgresql, oracle) voor de ondersteunde databases
de profiele zorgen ervoor dat de juist JDBC driver beschikbaar komt in de test suites,
tevens kan daarmee de juiste configuratie worden geladen.

| unit tests | integratie tests |
| ---------- | -----------------|
|Naamgeving conventie `<Mijn>Test.java` |Naamgeving conventie `<Mijn>IntegrationTest.java` |
|Zelfstandige tests, zonder runtime omgeving benodigdheden, eventueel voorzien van een data bestand, maar zonder verdere afhankelijkheden. |Tests die een database omgeving en/of servlet container nodig hebben. |
|Unit tests worden onafhankelijk van het gebruikte Maven profiel uitgevoerd, in principe tijdens iedere full build, tenzij er een `skip` optie voor het overslaan van de tests wordt meegegeven. |Unit tests worden afhankelijk van het gebruikte Maven profiel uitgevoerd. |
| unit tests | integratie tests |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
| Naamgeving conventie `<Mijn>Test.java` | Naamgeving conventie `<Mijn>IntegrationTest.java` |
| Zelfstandige tests, zonder runtime omgeving benodigdheden, eventueel voorzien van een data bestand, maar zonder verdere afhankelijkheden. | Tests die een database omgeving en/of servlet container nodig hebben. |
| Unit tests worden onafhankelijk van het gebruikte Maven profiel uitgevoerd, in principe tijdens iedere full build, tenzij er een `skip` optie voor het overslaan van de tests wordt meegegeven. | Unit tests worden afhankelijk van het gebruikte Maven profiel uitgevoerd. |

Het is mogelijk om bepaalde tests uit te sluiten voor een bepaalde omgeving, dat kan mbv. de marker interfaces in de [`brmo-test-util` module](/brmo/brmo-test-util/index.html).
Het is mogelijk om bepaalde tests uit te sluiten voor een bepaalde omgeving, dat kan mbv. de marker interfaces in
de [`brmo-test-util` module](/brmo/brmo-test-util/index.html).

Bekijk de `.github/workflow/` en `Jenkinsfile` hoe de integratie tests worden gestart.

### database configuratie

Voor de verschillende database omgevingen zijn er in bijvoorbeeld de `brmo-service` module,
de `brmo-loader` module property files gemaakt met een
configuratie die gebruikt wordt in de verschillende CI omgevingen. Deze bestanden zijn
configuratie die gebruikt wordt in de verschillende CI omgevingen. Deze bestanden zijn
in de test resources te vinden. Lokaal kun je een override definieren voor een bepaalde
omgeving door een bestand naast het bestaande te zetten met de naam `local.<DB smaakje>.properties`.

De te gebruiken database smaak wordt middels de `database.properties.file` property in de pom.xml van de
module of via commandline ingesteld.

| property file | gebruikt op | override |
| ------------------- |-------------| ------------------------- |
|postgres.properties | Github |local.postgres.properties |
|oracle.properties | Jenkins |local.oracle.properties |
| property file | gebruikt op | override |
|---------------------|-----------------|---------------------------|
| postgres.properties | Github | local.postgres.properties |
| oracle.properties | Jenkins, Github | local.oracle.properties |

Voor gebruik van de propertyfile in een integratie test kun je overerven van een
abstracte klasse in verschillende modules.

| module | klasse |
| -------------- | --------------------------------------- |
|brmo-loader |`nl.b3p.AbstractDatabaseIntegrationTest` |
|brmo-service |`nl.b3p.web.TestUtil` |
|brmo-soap |`nl.b3p.brmo.soap.db.TestUtil` |
|brmo-stufbg204 |`nl.b3p.brmo.stufbg204.TestStub` |

| module | klasse |
|----------------|------------------------------------------|
| brmo-loader | `nl.b3p.AbstractDatabaseIntegrationTest` |
| brmo-service | `nl.b3p.web.TestUtil` |
| brmo-soap | `nl.b3p.brmo.soap.db.TestUtil` |
| brmo-stufbg204 | `nl.b3p.brmo.stufbg204.TestStub` |

### servlet container configuratie

Expand Down

0 comments on commit 9f13ade

Please sign in to comment.