2011-01-25 52 views
6

目標

多模塊的Maven版本,每個模塊標記Maven的發佈設置,每個模塊SVN標籤

形勢

假設以下的項目結構爲一個基於Maven的Java項目:

xx-parent 
xx-moduleA 
xx-moduleB 
xx-moduleC/submodule1 
xx-moduleC/submodule2 
xx-moduleC/submodule3 

Subversion中的項目結構如下:

xx-parent/trunk 
xx-moduleA/trunk 
xx-moduleB/trunk 
xx-moduleC/trunk/submodule1 
xx-moduleC/trunk/submodule2 
xx-moduleC/trunk/submodule3 

我的目標是在執行釋放時,每個模塊創建標籤:

xx-parent/tags/xx-parent-1.0 
xx-moduleA/tags/xx-moduleA-1.0 
xx-moduleB/tags/xx-moduleB-1.0 
xx-moduleC/tags/xx-moduleC-1.0 

在過去,每個模塊建成並單獨發佈。隨着項目規模的擴大(30個模塊),構建版本的時間增加。我想將項目更改爲設置爲執行反應堆構建和發佈的多模塊。建設似乎沒有問題,但每個模塊創建標籤是。

maven-release-plugin似乎堅持只爲整個項目/版本製作一個標籤。我正在尋找創建多個標籤的方法,例如每個模塊的標籤。

我已經試過到目前爲止

  • 創建XX-所有顛覆別名,檢查出所有的子模塊,這樣我就可以<module>../xx-moduleB</module>
  • 啓用commitByProject引用它們,這並每個模塊承諾,但不是每個模塊的標籤。請參閱
  • 每個模塊在pom.xml中都有自己的<scm>元素,但在執行反應堆版本時不會使用它們。
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

問題
  • 行家離型插件不創建每個模塊一個svn標籤
  • 行家-釋放插件覆蓋<scm>標籤無效網址,例如在XX-父標籤

問題在嵌套的「主幹」標籤都有效

我如何設置這個項目,Maven的釋放過程,多模塊的佈局,仍然可以得到每個模塊獨立的標籤?

參考

http://jira.codehaus.org/browse/MRELEASE-261(閉合)和MRELEASE-561(開放)

+0

+1非常好寫,正是我遇到的問題!希望過去幾年有所改善 – avalancha 2014-11-11 13:42:11

回答

1

根據阿諾Héritier(一個Apache Maven的PMC部件),
的Maven不能處理複合應用等模塊 - 一個v0.1,模塊-B v0.3。
Maven將一個項目和他的所有子模塊視爲一個獨特的集合。

看到:http://blog.aheritier.net/maven-release-plugin-2-0/(9 2010年6月)

也許情況,因爲改變與Maven 3?

相關問題