Luk*_*ski 5 multiplatform maven maven-release-plugin
我有一个应该为几个目标平台构建的工件:
不幸的是,由于缺少交叉编译器,不可能一次创建所有版本的工件.
换句话说,目标是在存储库中有这样的东西
请注意,版本是同步的.怎么做到这一点?
问题是发布过程会在每次构建后升级pom.xml的版本.因此,通过在各种平台上连续构建,我可以实现
但这不是我要找的.
我可以
在Linux上运行
mvn release:prepare release:perform -DpushChanges = false
(将pushChanges设置为false发布不会增加SCM中的版本号)
然后在Windows上运行
mvn release:准备发布:执行
(这会增加版本号)
但是,我有责任以适当的顺序在各种平台上触发发布流程.有没有办法maven可以帮助我这个?
你有什么建议吗?
谢谢
PS.请注意,这不是关于如何组织模块的问题.它是关于如何在多个平台上同步单个工件的发布过程.
linux正如我所见,您使用、windows或等分类器(工件的文件名后缀)arm11来区分针对特定平台的各种工件的版本。因此,如果您创建由 Maven 管理的多模块项目,其中模块将是具有相同groupId、相同artifactId、相同version(可能从其共同父级继承)但不同的工件classifier,您将得到您想要的。在这种情况下,您总是发布多模块 POM(通常它也是其模块的公共父级)以立即发布所有模块。假设所有模块策略的版本相同(这似乎非常适合这里),您基本上可以执行:
mvn release:prepare release:perform -DautoVersionSubmodules
就是这样。您将获得artifact-1.0.0-linux.zip, artifact-1.0.0-windows.zip,artifact-1.0.0-arm11.zip已发布的工件。下一个开发版本将设置1.0.1-SNAPSHOT为所有模块(通过从父级继承)。
| 归档时间: | 
 | 
| 查看次数: | 489 次 | 
| 最近记录: |