2012-05-28 45 views
0

我有多個相互依賴的Elipse插件項目。幾個有關的問題:Eclipse插件的跨項目版本控制

1)如果我更改一個插件的版本號,是否可以自動更新從屬插件的plugin.xml文件以反映版本號更改?

2)同樣的Maven POM的:我可以以某種方式自動更新POM的時候,當我更改版本號?

3)如果我想保持plugin.xml和pom.xml版本號一致,是否有自動的方式來做到這一點?

4)最後:如果我有多個項目應該有相同的版本號,我可以以某種方式同步版本號?

+3

您是否深入瞭解Maven Tycho? – khmarbaise

+0

thx爲指針!我發現了tycho-versions插件(沒有很好地記錄下來),我發現[this](http://software.2206966.n2.nabble.com/Incrementing-updating-release-version-of-plugins-while-生成-P2-站點td5929658.html)。我認爲這解決了問題。 – kutschkem

+0

介意將此作爲正確答案,以便其他人也可以從您的答案中獲益?然後我可以將其標記爲回答問題。 – kutschkem

回答

0

正如khmarbaise指出的那樣,Tycho是一個Maven插件,它可以作爲maven插件和eclipse插件之間的橋樑。

這兩個環節提供實現我問我的問題所需的信息:

https://docs.sonatype.org/display/M2ECLIPSE/Staging+and+releasing+new+M2Eclipse+release

http://software.2206966.n2.nabble.com/Incrementing-updating-release-version-of-plugins-while-generating-p2-site-td5929658.html

好像你需要使用命令

mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version> 

它應該將父pom,模塊和plugin.xml的所有版本都設置爲給定的version.lik

1

使用Maven Release Plugin - 尤其是update-versions goal - 可以解決您已解決的至少一些問題。

從文檔在http://maven.apache.org/

在某些情況下,你可能想要一個簡單的方法在一個多模塊項目的每個POM更新的版本號。更新版本的目標旨在完成此任務。

要在您的POM更新的版本號,運行:

mvn release:update-versions

你會被提示爲項目的每個模塊的版本號。如果您希望每個模塊版本與父POM相同,則可以使用選項autoVersionSubmodules。

mvn release:update-versions -DautoVersionSubmodules=true

在這種情況下,你只會提示輸入想要的版本號一次。

+0

謝謝!雖然這隻能解決問題的一部分,但這已經是一項很棒的功能了:-) – kutschkem