我的团队正在使用功能分支来实现新功能,并不断将快照构建部署到远程存储库中供我们的用户使用。因此,“部署”实际上只意味着“分发到远程 Maven 存储库”。我们目前只为 master 分支而不是 feature 分支运行持续集成构建,原因如下:我们使用 Maven 构建我们的项目并将 JavaDoc 和源代码与 JAR 一起分发。
我现在的计划是为每个功能分支构建添加一个分类器,并希望在创建和部署这样的工件时使用一个分类器:
- 分支:主
- 分类: 无
工件:
foo-${version}
.jar、foo-${version}-sources
.jar、foo-${version}-javadoc.jar
分支:特征-X
- 分类: myfeature
- 文物:
foo-${version}-feature.jar
,foo-${version}-sources-feature.jar
,foo-${version}-javadoc-feature.jar
我并不关心工件的确切命名,我只需要功能分支的单独的主、源和 JavaDoc 工件。事实证明,JavaDoc 插件和源插件都没有考虑配置分类器,因此有效地覆盖了为我的主构建创建的工件。
我真的不想更改 artifactId,尽管这可能会解决问题。您如何处理功能分支和与 Maven 的持续集成?