release:prepare on CVS flat multi-module project breaks at tagging
------------------------------------------------------------------
Key: MRELEASE-633
URL: http://jira.codehaus.org/browse/MRELEASE-633
Project: Maven 2.x Release Plugin
Issue Type: Bug
Components: prepare
Affects Versions: 2.1, 2.2
Environment: - Maven 3.0.1
- Tested with relase-plugin 2.1 and 2.2-SNAPSHOT
Reporter: Michael Glauche
When running "mvn release:prepare -DcommitByProject=true" on a simple flat
multi-module (parent and module are in the same directory) project the goal
does exit with:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-release-plugin:2.1:prepare (default-cli) on
project test-main: The scm url is invalid.
[ERROR] - The connection string contains too few tokens.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.maven.plugins:maven-release-plugin:2.1:prepare (default-cli) on
project test-main: The scm url is invalid.
- The connection string contains too few tokens.
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:316)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:451)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:188)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoFailureException: The scm url is invalid.
- The connection string contains too few tokens.
at
org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:287)
at
org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:237)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
... 19 more
Caused by: org.apache.maven.shared.release.scm.ReleaseScmRepositoryException:
The scm url is invalid.
- The connection string contains too few tokens.
at
org.apache.maven.shared.release.phase.ScmTagPhase.execute(ScmTagPhase.java:87)
at
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:203)
at
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140)
at
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103)
at
org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:279)
... 22 more
However, the cvs commits earlier do work fine :
[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "cvs -z3 -f -q commit -R -F
C:\Users\mglauche\AppData\Local\Temp\scm-commit-message1543133116513199803.txt
pom.xml"
[INFO] Working directory: C:\work\workspaces\maven\test-main
...
test-main pom.xml:
<scm>
<connection>scm:cvs:pserver:${maven.scm.userna...@cvsserver:/home/cvs/repository/test:test-main</connection>
</scm>
<modules>
<module>../module1</module>
</modules>
module1 pom.xml:
<parent>
<artifactId>test-main</artifactId>
<groupId>somegroup</groupId>
<version>0.0.2-SNAPSHOT</version>
<relativePath>../test-main</relativePath>
</parent>
<groupId>somegroup</groupId>
<artifactId>module1</artifactId>
<version>0.0.2-SNAPSHOT</version>
<scm>
<connection>scm:cvs:pserver:${maven.scm.userna...@cvsserver:/home/cvs/repository/test:module1</connection>
</scm>
${maven.scm.username} is set to the correct user with a settings.xml parameter.
The interesting thing is, the SCM provider does think the pom is valid:
$ mvn scm:validate
[INFO] --- maven-scm-plugin:1.4:validate (default-cli) @ test-main ---
[INFO] connectionUrl scm connection string is valid.
[INFO] project.scm.connection scm connection string is valid.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira