释放父 POM
发布父 POM 与任何其他 Maven 项目非常相似。以下指南介绍了大部分步骤:
请注意,父 POM 具有用于管理和部署文档的特定约定。
基本原理
为了能够在不影响已发布pom.xml
和的情况下发布父 POM 的文档site.xml
,父 POM 项目具有特定的结构,并添加site-pom.xml
并src/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.xml
并index.apt
与正在发布的版本同步。
分阶段发布
在使用常规程序发布版本之前,您需要更新site-pom.xml
并index.apt
考虑未来的版本:
- 更新
site-pom.xml
父 POM 版本以匹配正在发布的版本, - update
src/site-docs/index.apt.vm
:在历史记录中为正在发布的版本添加一行pom.xml
,指的是未来的 git 发布标签和日期。
完成这些修改后,您可以按照标准组件文档暂存步骤,在每次生成或发布父 POM 的站点时注意使用site-pom.xml
POM 和命令。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: ...