2011-01-12 52 views
5

我很難讓maven-release-plugin與我們的CVS存儲庫一起工作。希望我錯過了一些顯而易見的事情,或者沒有人再使用CVS/pserver和Maven2/3了?如何在maven-release-plugin中使用CVS?

的第一個問題是SCM網址:

Maven的CVS提供商指出,一個有效的供應鏈管理的URL看起來是這樣的:

scm:cvs<delimiter>pserver<delimiter>[username[<delimiter>password]@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name 

所以,我想

<scm> 
    <connection>scm:cvs:pserver:cvssserver:/home/cvs/repository/projecta:ejbprojectA</connection> 
</scm> 

這應該是一個有效的cvs scm url。對於release-plugin,我將在relase插件配置中直接在本地settings.xml中設置用戶名。發佈插件工程確定這一說法,但是這會導致錯誤構建Maven站點:

[INFO] Username isn't defined. 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
java.lang.IllegalArgumentException: Username isn't defined. 
     at org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository.getCvsRootForCvsPass(CvsScmProviderRepository.java:113) 

這似乎是一個三歲的bug在SCM插件:http://jira.codehaus.org/browse/SCM-350

添加用戶名變量滿足網站插件也不起作用,因爲這會引發maven-release-plugin中的另一個(4歲)錯誤:http://jira.codehaus.org/browse/MRELEASE-128

如果我使用固定用戶名,我可以通過某種方式使其工作,但這是不是很滿意。

第二個問題是平面項目結構,Maven發佈插件似乎無法與CVS一起工作,似乎有一些SVN修復,但這些更改完全打破了平面CVS結構(主要POM模塊旁邊的項目模塊)

所以,最大的問題是,是否有其他人使用CVS的maven-release-plugin?你的設置如何?你如何處理這些問題?你有沒有使用平坦的項目結構(在日食中使用它更方便...)?

回答

1

你必須在網址中輸入一個虛擬用戶名,這是gona的工作。另一種選擇是將cvs配置放在開發者網址中,也許它會起作用。

0

我在CVS中使用release插件。

這裏是我的版本:

  • CVS 1.12.13-MirDebian-9
  • 的Apache Maven的2.2.1(rdebian-8)
  • Java版本:1.7.0_25

這是我的scm元素:

<scm> 
      <connection>scm:cvs:ext:@cvshostname:/path/to/cvsroot/:projectname</connection> 
    </scm> 

而且我打電話給b OTH release:preparerelease:perform-Dusername=username

mvn release:perform -Dusername=username

+0

這並沒有爲我工作 – 2015-06-23 18:44:14