如何在Maven和Tycho中保持插件清单版本和pom版本同步

时间:2010-05-17 11:43:55

标签: eclipse-plugin maven tycho

我正在使用Maven和Tycho构建一个eclipse插件。 Tycho通过检查插件的清单文件为Maven生成pom.xml文件。现在清单文件和pom文件都有插件版本,需要手动保持同步。这是因为我在生成的pom文件中做了一些自定义,并且每次更改清单中的版本时都无法覆盖它。

我的问题是,有没有办法让Tycho自动同步这些版本?

4 个答案:

答案 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