#67: Konsistente Versionierung via Maven CI-friendly revision

- ${revision}-Property im Parent-POM eingeführt; alle Kind-POM-<parent>-Blöcke
  verwenden ${revision} statt hartkodierter Version
- flatten-maven-plugin 1.6.0 in <build><plugins> des Parent-POM aktiviert
  (resolveCiFriendliesOnly), sodass installierte POMs keine unaufgelösten
  ${revision}-Referenzen enthalten
- MANIFEST.MF des Shade-JARs enthält Implementation-Version und Implementation-Title
- app.version im Packaging-Modul auf ${revision} umgestellt (war 2.5.0)
- ApplicationVersionProvider: neue Utility-Klasse im Bootstrap-Modul liest
  Implementation-Version aus MANIFEST.MF, Fallback "dev" bei ungepacktem Betrieb
- ApplicationVersionProviderTest: prüft Fallback-Verhalten im Testlauf
- .gitignore: .flattened-pom.xml-Dateien ausgeschlossen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 10:36:55 +02:00
parent 01e97848a7
commit c6379c04f6
12 changed files with 138 additions and 14 deletions
+6 -1
View File
@@ -4,7 +4,7 @@
<parent>
<groupId>de.gecheckt</groupId>
<artifactId>pdf-umbenenner-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>${revision}</version>
</parent>
<artifactId>pdf-umbenenner-bootstrap</artifactId>
<packaging>jar</packaging>
@@ -105,6 +105,11 @@
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>de.gecheckt.pdf.umbenenner.bootstrap.PdfUmbenennerApplication</mainClass>
<manifestEntries>
<!-- Versionseintrag wird zur Laufzeit via getImplementationVersion() ausgelesen -->
<Implementation-Version>${revision}</Implementation-Version>
<Implementation-Title>PDF KI Renamer</Implementation-Title>
</manifestEntries>
</transformer>
<!-- Merge META-INF/services entries from all JARs instead of overwriting -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>