[ 
https://issues.apache.org/jira/browse/MRELEASE-920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Clay updated MRELEASE-920:
-------------------------------
    Flags: Patch

> release:prepare does not resolve recursive properties
> -----------------------------------------------------
>
>                 Key: MRELEASE-920
>                 URL: https://issues.apache.org/jira/browse/MRELEASE-920
>             Project: Maven Release Plugin
>          Issue Type: Bug
>          Components: prepare
>    Affects Versions: 2.5.2
>            Reporter: Phil Clay
>            Priority: Minor
>         Attachments: MRELEASE-920.diff, test-project.zip
>
>
> I have a project that is failing {{release:prepare}} with the following error:
> {code}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on 
> project test-parent: The artifact (test:test-module1) requires a different 
> version (1.0) than what is found (${project.version}) for the expression 
> (dependency.version) in the project (test:test-parent). -> [Help 1]
> {code}
> The reason is that there are some dependency versions specified with 
> recursive properties like this:
> {code}
>     <properties>
>         <dependency.version>${project.version}</dependency.version>
>     </properties>
>     <dependencyManagement>
>         <dependencies>
>             <dependency>
>                 <groupId>test</groupId>
>                 <artifactId>test-module1</artifactId>
>                 <version>${dependency.version}</version>
>             </dependency>
> ...
> {code}
> The problem is that the plugin is resolving {{$\{dependency.version\}}} to 
> {{$\{project.version\}}}, but it is not taking the next step and resolving 
> {{$\{project.version\}}}.
> I will attach a test project that demonstrates this behavior, and a patch to 
> fix the problem.
> The full command used on the test project to demonstrate the error is
> {code}
> mvn -e --batch-mode 
> org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare
> {code}
> The output is:
> {code}
> [INFO] Error stacktraces are turned on.
> [INFO] Scanning for projects...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Build Order:
> [INFO]
> [INFO] test-parent
> [INFO] test-module1
> [INFO] test-module2
> [INFO]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building test-parent 1.0-SNAPSHOT
> [INFO] 
> ------------------------------------------------------------------------
> [INFO]
> [INFO] --- maven-release-plugin:2.5.2:prepare (default-cli) @ test-parent ---
> [INFO] Verifying that there are no local modifications...
> [INFO]   ignoring changes on: **\release.properties, **\pom.xml.next, 
> **\pom.xml.releaseBackup, **\pom.xml.backup, **\pom.xml.branch, **\pom.xml.tag
> [INFO] Executing: cmd.exe /X /C "git rev-parse --show-toplevel"
> [INFO] Working directory: E:\test-project
> [INFO] Could not resolve toplevel
> [INFO] Executing: cmd.exe /X /C "git status --porcelain ."
> [INFO] Working directory: E:\test-project
> [INFO] nothing added to commit but untracked files present (use "git add" to 
> track)
> [INFO] Checking dependencies and plugins for snapshots ...
> [INFO] Transforming 'test-parent'...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] test-parent ....................................... FAILURE [1.044s]
> [INFO] test-module1 ...................................... SKIPPED
> [INFO] test-module2 ...................................... SKIPPED
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 1.242s
> [INFO] Finished at: Fri Aug 21 18:10:42 PDT 2015
> [INFO] Final Memory: 10M/231M
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on 
> project test-parent: The artifact (test:test-module1) requires a different 
> version (1.0) than what is found (${project.version}) for the expression 
> (dependency.version) in the project (test:test-parent). -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare 
> (default-cli) on project test-parent: The artifact (test:test-module1) 
> requires a different version (1.0) than what is found (${project.version}) 
> for the expression (dependency.version) in the project (test:test-parent).
>         at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
>         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:320)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>         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:606)
>         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 artifact 
> (test:test-module1) requires a different version (1.0) than what is found 
> (${project.version}) for the expression (dependency.version) in the project 
> (test:test-parent).
>         at 
> org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:294)
>         at 
> org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:240)
>         at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>         at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>         ... 19 more
> Caused by: org.apache.maven.shared.release.ReleaseFailureException: The 
> artifact (test:test-module1) requires a different version (1.0) than what is 
> found (${project.version}) for the expression (dependency.version) in the 
> project (test:test-parent).
>         at 
> org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.rewriteArtifactVersions(AbstractRewritePomsPhase.java:582)
>         at 
> org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transformDocument(AbstractRewritePomsPhase.java:293)
>         at 
> org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transformProject(AbstractRewritePomsPhase.java:231)
>         at 
> org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transform(AbstractRewritePomsPhase.java:131)
>         at 
> org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.execute(AbstractRewritePomsPhase.java:116)
>         at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234)
>         at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169)
>         at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146)
>         at 
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107)
>         at 
> org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:286)
>         ... 22 more
> [ERROR]
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR]
> [ERROR] For more information about the errors and possible solutions, please 
> read the following articles:
> [ERROR] [Help 1] 
> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to