我正在构建一个Eclipse项目,其中包含许多打包在一起的插件。我为每个组件创建了POM文件,并为项目创建了一个主POM。像这样:
projectDir\releng\pom.xml <-- Parent project
projectDir\proj1\pom.xml <-- Child project 1
projectDir\proj2\pom.xml <-- Child project 2
我的构建当前可以通过调用构建所有内容的父POM来工作。到现在为止,我一直在使用0.0.1-SNAPSHOT
父POM的版本进行构建,并且在每个Eclipse插件中我都0.0.1.qualifier
使用该MANIFEST.MF
文件中的版本。
我现在想将最新版本升级到0.1.0
。根据我的理解,这意味着我必须检查所有POM文件和MANIFEST.MF
文件并升级两个文件中的版本(因为版本是在父POM中定义的,所以在所有子POM中都引用了它:)。
这是执行此操作的正确方法,还是有一种使整个过程自动化且不会出错的方法?
PS有Maven Release插件,但这不适用于Eclipse。
对于发布过程的版本更新步骤,有tycho-versions-plugin,它知道如何一致地更新POM和清单。
只需转到父/聚合模块的根目录并调用
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion="0.1.0"
这将以与父项目相同/等效的版本更新父项目和所有子项目的版本。在您的情况下,这些都是项目,因为认为Eclipse版本0.0.1.qualifier
与0.0.1-SNAPSHOT
Tycho等效。
对于发布过程的其余步骤(标记,构建,推送标记等),只需调用相应的SCM或Maven命令即可,例如从脚本中调用。我没有尝试为此使用maven-release-plugin(显然没有其他人使用)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句