gpt4 book ai didi

maven - 如何为使用 Maven 构建的 Eclipse 插件自动化版本号更新过程

转载 作者:行者123 更新时间:2023-12-03 15:17:45 24 4
gpt4 key购买 nike

我正在处理一个类似于项目 described here 的项目.
因此,它在父 pom.xml 中有一些模块:

 <modules>
<module>../de.vogella.tycho.plugin</module>
<module>../de.vogella.tycho.feature</module>
<module>../de.vogella.tycho.p2updatesite</module>
</modules>

这些模块有一个通用版本号,例如 1.0.0-SNAPSHOT或没有 -SNAPSHOT . feature.xml 文件需要包含相同的版本号:

<feature
id="com.my.feature"
label="My plugin feature"
version="1.0.0">

和:

<plugin
id="com.my.plugin"
download-size="0"
install-size="0"
version="1.0.0"
unpack="false"/>

文件 category.xml(在 p2 更新站点项目中)和 MANIFEST.MF(在插件项目中)需要包含相同的值。

问题是:如何使用 Maven 自动化所有这些文件中的版本号更新过程?

我尝试使用 maven-release-plugin 和 maven-versions-plugin 解决这个问题。第一个插件做了很多未使用的操作(比如做很多 CVS 提交,我在这个项目中没有使用)。第二个插件只修改pom.xml文件,不修改feature.xml、category.xml和MANIFEST.MF,还是我用的不太好。

最佳答案

有一个特殊的tycho-versions-plugin对于这个问题。它(有意)与 maven-versions-plugin 相同,但也会更新 feature.xml 和 MANIFEST.MF 中的(冗余)版本。

更重要的是,该插件还更新了指定确切版本的引用,例如对 feature.xml 中插件的引用,或对 category.xml 中的功能的引用。所以最后,所有出现的 Artifact 版本都会更新,就像在重构中一样。

对于具有确切版本的引用资料,在正常的 Tycho 构建期间还会自动更新。所以如果例如您的功能在版本 1.0.0.qualifier 中引用了您的插件, 此版本字符串使用限定符的实际值进行更新,例如1.0.0.201207171147 .你可以利用这个功能来最小化 tycho-versions-plugin 需要更新的地方的数量:你可以使用魔法版本 0.0.0 而不是在引用中指定当前版本字面量。 .作为正常构建的一部分,此版本也会自动更新到最新版本。

关于maven - 如何为使用 Maven 构建的 Eclipse 插件自动化版本号更新过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com