我有一个应该为多个目标平台构建的工件:
- Linux x86
- 视窗 x86
- ARM11
不幸的是,由于缺乏交叉编译器,不可能一次创建工件的所有版本。
换句话说,目标是在存储库中有这样的东西
- artifact-1.0.0-linux.zip
- artifact-1.0.0-windows.zip
- artifact-1.0.0-arm11.zip
- artifact-1.0.1-linux.zip
- artifact-1.0.1-windows.zip
- artifact-1.0.1-arm11.zip
- ...
请注意,版本是同步的。如何做到这一点?
问题是每次构建后发布过程都会升级 pom.xml 的版本。因此,通过在各种平台上连续构建,我可以实现
- artifact-1.0.0-linux.zip
- artifact-1.0.1-windows.zip
- artifact-1.0.2-arm11.zip
- artifact-1.0.3-linux.zip
- artifact-1.0.4-windows.zip
- artifact-1.0.5-arm11.zip
- ...
但这不是我要找的。
我可以
在 Linux 上运行
mvn 发布:准备发布:执行-DpushChanges=false
(将 pushChanges 设置为 false 发布不会增加 SCM 中的版本号)
然后在 Windows 上运行
mvn 发布:准备发布:执行
(这会增加版本号)
但是,以正确的顺序在各种平台上触发发布过程的责任在于我。有没有办法可以帮助我解决这个问题?
你有什么建议吗?
谢谢
PS。请注意,这不是关于如何组织成模块的问题。它是关于如何在多个平台上同步单个工件的发布过程。