释放父 POM

发布父 POM 与任何其他 Maven 项目非常相似。以下指南介绍了大部分步骤:

请注意,父 POM 具有用于管理和部署文档的特定约定。

基本原理

为了能够在不影响已发布pom.xml和的情况下发布父 POM 的文档site.xml,父 POM 项目具有特定的结构,并添加site-pom.xmlsrc/site-docs提供mvn -f site-pom.xml site有用的文档内容:

|-- pom.xml
|-- site-pom.xml
`-- src
    |-- site
    |   `-- site.xml
    `-- site-docs
        |-- apt
        |   `-- index.apt
        `-- site.xml

index.apt页面不仅包含有关父 POM 内容的说明,而且还维护了 POM 发布链接和差异的历史记录。

完成每个特定步骤以保持site-pom.xmlindex.apt与正在发布的版本同步。

分阶段发布

在使用常规程序发布版本之前,您需要更新site-pom.xmlindex.apt考虑未来的版本:

  1. 更新site-pom.xml父 POM 版本以匹配正在发布的版本,
  2. update src/site-docs/index.apt.vm:在历史记录中为正在发布的版本添加一行pom.xml,指的是未来的 git 发布标签和日期。

完成这些修改后,您可以按照标准组件文档暂存步骤,在每次生成或发布父 POM 的站点时注意使用site-pom.xmlPOM 和命令。mvn -f site-pom.xml ...

然后唯一的区别是使用命令来暂存站点:

cd target/checkout
mvn -f site-pom.xml site
mvn -f site-pom.xml scm-publish:publish-scm

发起投票

在投票中,父 POM 不应提供指向 JIRA 的链接,而应包含指向自上次发布以来 Git 更改的链接:

...
Hi,

Changes since the last release:
for Maven Apache Parent POM:
https://github.com/apache/maven-apache-parent/compare/apache-<VERSION-OF-PREVIOUS-RELEASE>...apache-<VERSION-OF-CURRENT-RELEASE>

or for Maven Projects Parent POM:
https://github.com/apache/maven-parent/compare/maven-parent-<VERSION-OF-PREVIOUS-RELEASE>...maven-parent-<VERSION-OF-CURRENT-RELEASE>

Staging repo:
...