Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use CVS with the maven-release-plugin?

i'm having a hard time getting the maven-release-plugin to work with our CVS repository. Hope I'm missing something obvious, or is noone using CVS/pserver and Maven2/3 anymore ?

The first problem is the scm URL:

The maven CVS provider states that a valid scm URL looks like this:

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

So, i'm trying

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

which should be a valid cvs scm url. For the release-plugin i'll set the username inside a local settings.xml directly in the relase plugins configuration. The release plugin works ok with that, but this leads to an error building the maven site:

[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)

This seems to be a three year old bug in the scm plugin: http://jira.codehaus.org/browse/SCM-350

Adding a username variable to satisfy the site plugin also does not work, as this would trigger another (4 year old) bug in the maven-release-plugin: http://jira.codehaus.org/browse/MRELEASE-128

If i use a fixed username i can get it somehow to work, but this is not really satisfactory.

The second problem are flat project structures, the maven release plugin seems unable to work with CVS on them, there seems to be some fixes for SVN, but these changes totally break flat cvs structures (main pom module beside project modules)

So, the biggest question is, is anyone else using the maven-release-plugin with cvs ? How is your setup ? How do you deal with these problems ? Do you use flat project structures at all (which are much more convinient to use in eclipse ...) ?

like image 757
mglauche Avatar asked Nov 15 '22 04:11

mglauche


1 Answers

you have to put a dummy username in the url and it's gona work. an other option is to put the cvs configuration in the developer url, maybe it will work then.

like image 96
Salandur Avatar answered Nov 16 '22 18:11

Salandur