我正在构建一个 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
file.
我现在想将我的最新版本推广到0.1.0
。根据我的理解,这意味着我必须检查所有 POM 文件并且MANIFEST.MF
文件并升级它们中的版本(因为虽然版本是在父 POM 中定义的,但它在所有子 POM 中都被引用)。
这是正确的方法吗?还是有办法使整个过程自动化并且不犯错误?
附:有的是Maven 发布插件 http://maven.apache.org/maven-release/maven-release-plugin/但这不适用于 Eclipse。
对于发布过程的版本更新步骤,有第谷版本插件 https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html它知道如何持续更新 POM 和清单。
只需转到父/聚合器模块的根目录并调用
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion="0.1.0"
这将更新父项目以及具有与父项目相同/等效版本的所有子项目的版本。就您而言,这些都是项目,因为 Eclipse 版本0.0.1.qualifier
被认为等同于0.0.1-SNAPSHOT
在第谷。
对于发布过程的其余步骤(标记、构建、推送标签等),只需调用适当的 SCM 或 Maven 命令,例如来自脚本。我还没有尝试为此使用 maven-release-plugin (并且显然没有其他人有 https://bugs.eclipse.org/bugs/show_bug.cgi?id=342893#c8).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)