我正在使用 Maven 和 Tycho 来构建一个 Eclipse 插件。Tycho 通过检查插件的清单文件为 Maven 生成 pom.xml 文件。现在清单文件和 pom 文件都有插件的版本,需要手动保持同步。这是因为我在生成的 pom 文件中做了一些自定义,每次更改 manifest 中的版本时都无法覆盖它。
我的问题是,有没有办法使用 Tycho 自动保持这些版本同步?
我正在使用 Maven 和 Tycho 来构建一个 Eclipse 插件。Tycho 通过检查插件的清单文件为 Maven 生成 pom.xml 文件。现在清单文件和 pom 文件都有插件的版本,需要手动保持同步。这是因为我在生成的 pom 文件中做了一些自定义,每次更改 manifest 中的版本时都无法覆盖它。
我的问题是,有没有办法使用 Tycho 自动保持这些版本同步?
看来您可以使用tycho-versions-plugin更新版本(在此处使用 tycho 0.14.0):
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=NEW_VERSION-SNAPSHOT
这会更新 POM、清单和 feature.xml
现在,您必须手动使它们保持同步。有一个未解决的问题 - TYCHO-214: OSGi release procedure and best practice - 应该涵盖这一点。它目前的目标是 0.9.0 - 下一个版本。
我们也有类似的情况。我们厌倦了更改 Manifest 和 pom.xml 中的版本。但是使用 maven 更改版本并不是一个好的解决方案,因为每次运行一个特殊的 maven-command 对我们来说都不是解决方案。
但我发现了一个 Tychoplugin,我们将它集成到了构建中。
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>versions</id>
<phase>validate</phase>
<goals>
<goal>update-pom</goal>
</goals>
</execution>
</executions>
</plugin>
这个插件在 pom.xml 中使用 Manifest 的版本自动更新每个 Build 的版本。
更多信息,请访问https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho -versions-plugin/plugin-info.html
为 Eclipse 使用 Version Tiger 插件相当方便。该插件为 Eclipse 添加了一个上下文菜单,允许您同时更新 OSGI 和 pom 版本。
老虎版可以在这里下载:https ://github.com/inventage/version-tiger