OWASP / OWASP/owasp-java-encoder
Modernize and validate the Maven Central signing and release workflow
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 541
- Forks
- 122
- Ø Merge
- 9 Std. 9 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Follow-up to #90 (reviewed at 31588e1). This tracks work intentionally kept separate from the modernization PR.
Current state
The root POM still uses org.sonatype.oss:oss-parent:9, Maven GPG Plugin 1.6, and Central Publishing Plugin 0.9.0. Ordinary clean verify and CI success do not validate the signing/publishing lifecycle.
This is release-tooling maintenance, not a request to publish a release or change credentials.
Acceptance criteria
- Audit inherited behavior from
oss-parent; replace or remove it only after explicitly preserving required metadata and lifecycle behavior. - Update and pin signing/publishing tooling to versions validated for the project's chosen Maven/JDK baseline.
- Document noninteractive signing, credential requirements, local validation, staging/review, and recovery from a failed release attempt.
- Validate binaries, sources, Javadocs, POMs, signatures, and checksums in an isolated local/staging workflow that cannot accidentally publish publicly.
- Verify all four artifacts preserve the consumer contract: coordinates, scopes, public APIs, Java baseline, automatic/explicit module names, OSGi metadata, and TLDs.
- Confirm the optional Jakarta test WAR is not unintentionally included in a library release.
- Keep production publication explicitly maintainer-controlled and keep credentials out of logs and PR workflows.
- Document reproducibility expectations, including generated manifest timestamps, and fix controllable nondeterminism where practical.
Reference: Sonatype's Maven publishing documentation.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Prüfung des Root-POM und des geerbten oss-parent-Verhaltens und vergleiche anschließend die Plugins zum Signieren und Veröffentlichen mit der Maven-Dokumentation zur Veröffentlichung von Sonatype sowie mit der Java-Baseline des Projekts. Validiere die vier Release-Artefakte und die optionale Jakarta-Test-WAR in einem isolierten Workflow ohne Veröffentlichung. Als erledigt gilt die Aufgabe, wenn der Consumer-Vertrag, die Erwartungen an die Reproduzierbarkeit, der Umgang mit Zugangsdaten, die Schritte zur Wiederherstellung und der von Maintainer kontrollierte Veröffentlichungsprozess dokumentiert und verifiziert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- build-system, documentation, release
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100