繁体   English   中英

如何将CVS与maven-release-plugin一起使用?

[英]How to use CVS with the maven-release-plugin?

我很难让maven-release-plugin与我们的CVS存储库一起工作。 希望我遗漏了一些明显的东西,或者再也没有人使用CVS / pserver和Maven2 / 3了?

第一个问题是scm URL:

maven CVS提供程序声明有效的scm 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)

这似乎是scm插件中的一个三岁的bug: 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? 你的设置如何? 你是如何处理这些问题的? 你是否使用平面项目结构(在eclipse中使用它更方便......)?

你必须在网址中放置一个虚拟用户名,这是有效的工作。 另一个选择是将cvs配置放在开发人员网址中,也许它会起作用。

我正在使用CVS的发布插件。

这是我的版本:

  • 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>

我称之为release:preparerelease:perform使用-Dusername=username release:perform

mvn release:perform -Dusername=username

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM