我正在使用Maven和Tycho构建一个eclipse插件。 Tycho通过检查插件的清单文件为Maven生成pom.xml文件。现在清单文件和pom文件都有插件版本,需要手动保持同步。这是因为我在生成的pom文件中做了一些自定义,并且每次更改清单中的版本时都无法覆盖它。
我的问题是,有没有办法让Tycho自动同步这些版本?
答案 0 :(得分:19)
您似乎可以使用 tycho-versions-plugin 更新版本(使用tycho 0.14.0):
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=NEW_VERSION-SNAPSHOT
这会更新POM,MANIFEST和feature.xml
答案 1 :(得分:3)
现在你必须手动保持它们同步。有一个未解决的问题 - TYCHO-214: OSGi release procedures and best practices - 应该涵盖这个问题。目前它的目标是0.9.0 - 下一个版本。
答案 2 :(得分:2)
我们有类似的情况。我们厌倦了更改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>
此插件会自动使用每个Build的Manifest版本更新pom.xml中的版本。
https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
的更多信息答案 3 :(得分:1)
在Eclipse中使用Version Tiger插件非常方便。 这个插件为eclipse添加了一个上下文菜单,允许你同时更新OSGI和pom版本。
Tiger版本可以在这里下载:https://github.com/inventage/version-tiger