OWASP / OWASP/owasp-java-encoder

Modernize and validate the Maven Central signing and release workflow

未关闭
#95 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

enhancement
主要语言
Java
星标
541
派生
122
平均合并
9 小时 9 分钟
30 天内合并 PR
1

描述

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.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先审查根 POM 和继承的 oss-parent 行为,然后将签名和发布插件与 Sonatype 的 Maven 发布文档以及项目的 Java 基线进行比较。在隔离的、不执行发布的工作流中验证四个 release 构件和可选的 Jakarta 测试 WAR。完成的标准是:consumer contract、可复现性要求、凭据处理、恢复步骤以及由 maintainer 控制的发布流程都已记录并验证。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
build-system, documentation, release
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。