In diesem Verzeichnis befindet sich einige Informationen für die Entwicklung, sofern sie nicht bereits im obersten README enthalten sind.
| Branch | GitHub Actions | CoverAlls.io | codecov.io |
|---|---|---|---|
master |
|||
develop |
Der CI-Build (CI: Continuous Integration) läuft nach einem Commit und einem Push auf GitHub an.
Entwickelt wird nach der GitFlow-Branching-Strategie. D.h. die eigentliche Entwicklung findet auf dem develop-Zweig statt. GIT-Commits orientieren sich dabei an Conventional Commits.
Der Bau eines Releases ist nicht durch den CI-Build abgedeckt, sondern erfolgt manuell mit Hilfe des jgitflow-maven-plugin, das im POM entsprechend konfiguriert ist:
| Schritt | Kommandos | Anmerkung |
|---|---|---|
auf Release-Branch wechseln |
|
Die folgenden Schritte sollten auf dem Release-Branch erfolgen, weil dort das letzte Release abgelegt wird. |
Release starten |
|
Änderungen des aktuellen develop-Branches auf den release-Branch bringen. Danach "-SNAPSHOT" von der Version in de.jfachwert.java-conventions.gradle.kts entfernen. |
alle Artefakte bauen (gradle) |
./gradlew -Dorg.gradle.jvmargs="-Xmx768m -XX:MaxMetaspaceSize=512m" clean assemble sign |
ab v6 ist der Bau nur noch mit Gradle möglich, da das maven-dokka-plugin keine Maven-Module unterstützt |
Release lokal deployen (gradle) |
./gradlew publishToMavenLocal |
Damit werden die Artifkate lokal nach $HOME/.m2/repository/de/jfachwert kopiert |
Bundle für Upload erstellen (manuell) |
|
Check-Summen für manuelles Upload erstellen, danach Tar-File erstellen und über https://central.sonatype.com/publishing hochladen |
Release automatisch deployen (alt) |
./gradlew publishToSonatype |
Damit werden die Artefakte nach oss.sonatype.org hochgeladen. Die Task funktioniert auch für Snapshots, sodass im Vorfeld das Hochladen ins Snapshot-Repo getestet werden kann (Einstellungen in $HOME/.gradle/gradle.properties für sonatype-nexus-staging prüfen!). NOTE: funktioniert nicht mehr seit der Umstellung auf central.sonatype.com |
Release freigeben (alt) |
"Staging Repositories" selektieren, danach "Close", "Refresh" und "Release". |
|
Einchecken + Tag vergeben |
|
NamensKonvention für Tag ist |
Release-Notes erstellen |
Unter Tags "Add release notes" selektieren und Release-Notes erstellen oder/und mit Release-Notes verlinken |
|
Architektur-Dokumentation |
|
Damit wird die Architektur-Dokumentation generiert, die in seiner Rohfassung unter src/main/asciidoc zu finden ist. Zur erfolgreichen Generierung muss GraphViz auf dem Rechner installiert sein. Danach wird build/generated-docs auf jFachwert.de/generated-docs hochgeladen. |
auf master- und develop-Branch mergen |
|
auf |