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

14
我使用Maven和Tycho来构建Eclipse插件。Tycho通过检查插件的清单文件生成Maven的pom.xml文件。现在清单文件和pom文件都有插件的版本号,需要手动保持同步。这是因为我在生成的pom文件中进行了一些自定义,不能在每次更改清单中的版本时覆盖它。
我的问题是,是否有一种方法可以使用Tycho自动保持这些版本同步?
4个回答

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
我尝试了这个,但是出现了错误:[ERROR] Unknown lifecycle phase ".mode=maven"。您必须指定一个有效的生命周期阶段或格式为<plugin-prefix>:<goal>或<plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<...>的目标。 - James Moore
运行良好,适用于0.18.1版本。我只需要更改site\category.xml文件即可。 - Paul Verest

3

2
我们有一个类似的情况。我们厌倦了在清单(Manifest)和pom.xml中更改版本号。但使用maven更改版本也不是一个好的解决方案,因为每次运行特定的maven命令并不适合我们。
但我发现了一个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>

此插件会自动根据 Manifest 中的版本更新 pom.xml 中的版本号。
更多信息请参见 https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html

1
使用Eclipse的Version Tiger插件非常方便。该插件为Eclipse添加了上下文菜单,使您可以同时更新OSGI和pom版本。
可以在此处下载Version Tiger插件:https://github.com/inventage/version-tiger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接