Issue Type: Bug Bug
Affects Versions: 2.0
Assignee: Unassigned
Attachments: projectSample.zip
Created: 30/Nov/12 2:02 PM
Description:

The versions plugin 2.0 fails to process dependencies that require variable substitutions for variables defined in the parent pom. I created and attached a minimal project that showcases the error.

This error does not exist with versions 1.3.1 or 1.2, however the failure is consistent in versions 2.0.

Example of dependency, note that $random.groupId is defined in parent pom.

<dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>${random.groupId}</groupId>
            <artifactId>test-module1</artifactId>
            <version>${project.version}</version>
         </dependency>
      </dependencies>
 </dependencyManagement>

Failing maven command using versions plugin 2.0:

mvn org.codehaus.mojo:versions-maven-plugin:2.0:set org.codehaus.mojo:versions-maven-plugin:2.0:use-releases -DnewVersion=1.4  -DallowSnapshots=false -DgenerateBackupPoms=false -X

The error message:

[ERROR] Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.0:set (default-cli) on project test-parent: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.0:set failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.0:set (default-cli) on project test-parent: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.0:set failed.
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	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:322)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:158)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	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.PluginExecutionException: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.0:set failed.
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
	... 19 more
Caused by: java.lang.NullPointerException
	at org.codehaus.mojo.versions.api.PomHelper.evaluate(PomHelper.java:685)
	at org.codehaus.mojo.versions.api.PomHelper.setDependencyVersion(PomHelper.java:578)
	at org.codehaus.mojo.versions.change.DependencyVersionChanger.apply(DependencyVersionChanger.java:46)
	at org.codehaus.mojo.versions.change.CompositeVersionChanger.apply(CompositeVersionChanger.java:52)
	at org.codehaus.mojo.versions.SetMojo.update(SetMojo.java:374)
	at org.codehaus.mojo.versions.AbstractVersionsUpdaterMojo.process(AbstractVersionsUpdaterMojo.java:322)
	at org.codehaus.mojo.versions.SetMojo.execute(SetMojo.java:331)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
	... 20 more
[ERROR]

Same sample project, identical maven parameters, versions 1.3.1 changes the project version without an error:

mvn org.codehaus.mojo:versions-maven-plugin:1.3.1:set org.codehaus.mojo:versions-maven-plugin:1.3.1:use-releases -DnewVersion=1.4  -DallowSnapshots=false -DgenerateBackupPoms=false -X
Environment: Linux 3.6.2-4.fc17.x86_64x86_64
Apache Maven 3.0.4 (rNON-CANONICAL_2012-10-24_11-25_mockbuild; 2012-10-24 06:25:04-0500)
jdk1.7.0_07

Project: Maven 2.x Versions Plugin
Priority: Critical Critical
Reporter: Stefan Negrea
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

Reply via email to