Properties get resolved before the LifeCycle is Forked.
-------------------------------------------------------
Key: MNG-3530
URL: http://jira.codehaus.org/browse/MNG-3530
Project: Maven 2
Issue Type: Bug
Components: General
Affects Versions: 2.0.9
Reporter: Nick Pellow
Since Maven 2.0.9 -- If a plugin uses a forked lifecycle, then the project
properties are resolved by maven before the lifecycle is forked.
This means that the forked lifecycle has the non-forked lifecycle's values.
This was not the case in maven prior to version 2.0.9, where properties were
resolved at a much later time.
For example - the attached sample project uses the Clover plugin with the
xdoclet plugin. When {code}mvn clean install{code} is run under *Maven-2.0.8*
you can see the following output:
{code}
[INFO] [xdoclet:xdoclet {execution: default}]
[INFO] Initializing DocletTasks!!!
[INFO] Executing tasks
[echo] Build Dir: ${project.build.directory}/test.clover
[INFO] Executed tasks
{code}
whilst *Maven 2.0.9* outputs:
{code}
[INFO] [xdoclet:xdoclet {execution: default}]
[INFO] Initializing DocletTasks!!!
[INFO] Executing tasks
[mkdir] Created dir: /Users/niick/work/mvnclvr/src/it/mng/xdoclet/target
[touch] Creating
/Users/niick/work/mvnclvr/src/it/mng/xdoclet/target/test.clover
[echo] Build Dir:
/Users/niick/work/mvnclvr/src/it/mng/xdoclet/target/test.clover
[INFO] Executed tasks
[INFO] [resources:resources]
{code}
The fact the ${project.build.directory} property has been expanded already
under 2.0.9, means that the forked lifecycle has the same value for that
property.
This new behavior will break any plugin which uses a forked lifecycle.
--
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