Skip to content

Latest commit

 

History

History
104 lines (74 loc) · 4.46 KB

File metadata and controls

104 lines (74 loc) · 4.46 KB

Entwickler-Dokumentation

In diesem Verzeichnis befindet sich einige Informationen für die Entwicklung, sofern sie nicht bereits im obersten README enthalten sind.

CI-Build

Table 1. Builds
Branch GitHub Actions CoverAlls.io codecov.io

master

coveralls

codecov

develop

Build Status

coveralls

codecov

Der CI-Build (CI: Continuous Integration) läuft nach einem Commit und einem Push auf GitHub an.

GitFlow-Branching

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.

Release bauen

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:

Table 2. Checkliste
Schritt Kommandos Anmerkung

auf Release-Branch wechseln

git checkout release/6.x

Die folgenden Schritte sollten auf dem Release-Branch erfolgen, weil dort das letzte Release abgelegt wird.

Release starten

git merge develop

Ä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)

./gradlew generateChecksums

cd $HOME/.m2/repository; tar czvf ~/Downloads/jfachwert.tgz `find de/jfachwert -name "*-6.7.1*"`

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)

oss.sonatype.org

"Staging Repositories" selektieren, danach "Close", "Refresh" und "Release".

Einchecken + Tag vergeben

git commit …​

NamensKonvention für Tag ist jfachwert-6.7.1

Release-Notes erstellen

releases

Unter Tags "Add release notes" selektieren und Release-Notes erstellen oder/und mit Release-Notes verlinken

Architektur-Dokumentation

./gradlew asciidoctor

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

git checkout master …​

auf develop mit neuem Snapshot beginnen