You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Nick Pellow (JIRA)" <ji...@codehaus.org> on 2008/04/17 09:58:55 UTC

[jira] Created: (MNG-3530) Properties get resolved before the LifeCycle is Forked.

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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=158439#action_158439 ] 

Nick Pellow commented on MNG-3530:
----------------------------------

Hi John, 

Could you please confirm which branch this has been fixed on?
This behavior still persists for me under Maven 2.1.0-M1.
The attached .zip file still reproduces the problem.

Cheers,
Nick

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M1
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Updated: (MNG-3530) Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Pellow updated MNG-3530:
-----------------------------

    Attachment: MNG-3530.tar.gz

To reproduce this bug, simply unpack this archive and run:
{code}
mvn clean install
{code}

When run with version 2.0.9 of maven you will see that the properties get resolved.
When run with version 2.0.8, these properties are not resolved.

Please let me know if you have any difficulties reproducing this.

> 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
>         Attachments: MNG-3530.tar.gz
>
>
> 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

        

[jira] Work started: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on MNG-3530 started by John Casey.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Work stopped: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on MNG-3530 stopped by John Casey.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=134877#action_134877 ] 

Nick Pellow commented on MNG-3530:
----------------------------------

Hi Shane, 

No need for verification. I mistakenly left a reference to the clover maven plugin. This is not needed to reproduce the bug.
Please remove the plugin configuration from the pom.xml and try again.

I've attached the archive again, with the plugin removed.

Cheers,
Nick

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz
>
>
> 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

        

[jira] Reopened: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter reopened MNG-3530:
-------------------------------


> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M1
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164515#action_164515 ] 

Nick Pellow commented on MNG-3530:
----------------------------------

Hi Brett, 

Could you please confirm it works under 2.1.0-M1? I just re-read my previous comment that it was broken under 2.1.0-M1 for me too.
Either both of us were mistaken, or possibly something has changed?

I am happy to have this closed if solved in a final 2.1.0 release.

Thanks!
Nick

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164989#action_164989 ] 

Nick Pellow commented on MNG-3530:
----------------------------------

ah. sorry for the confusion here. I think I tried removing the Clover plugin entirely from the equation, however left the check in the verifications.xml .

Cheers,Nick

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M1
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Shane Isbell (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=134842#action_134842 ] 

Shane Isbell commented on MNG-3530:
-----------------------------------

I tried to run the attached project but received a build error:

[INFO] You need to configure a license file location for Clover. You can create an evaluation license at http://www.atlassian.com/ex/GenerateLicense.jspa?product=Clover&version=2

Looks as though there is a registration process needed prior to verifing the bug.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164501#action_164501 ] 

Nick Pellow commented on MNG-3530:
----------------------------------

Hi john, 

Thanks for looking into this. This looks to now be fixed on 2.1.0-M1. It is not however working for 2.0.10-RC8.

Here is my output running:
{{mvn clean clover2:instrument}} using maven 2.0.8, 2.0.9, 2.0.10-RC8 and 2.1.0-M1:

2.0.8: *correct behavior*
{code}
[INFO] Initializing DocletTasks!!!
[INFO] Executing tasks
    [touch] Creating /Users/niick/downloads/MNG-3530/target/clover/test.clover
     [echo] Build Dir: ${project.build.directory}/test.clover
[INFO] Executed tasks
{code}

2.0.9 *broken*
{code}
[INFO] Initializing DocletTasks!!!
[INFO] Executing tasks
    [touch] Creating /Users/niick/downloads/MNG-3530/target/test.clover
     [echo] Build Dir: /Users/niick/downloads/MNG-3530/target/test.clover
[INFO] Executed tasks
{code}

2.0.10-RC8 *broken*
{code}
[INFO] Executing tasks
    [touch] Creating /Users/niick/downloads/MNG-3530/target/test.clover
     [echo] Build Dir: /Users/niick/downloads/MNG-3530/target/test.clover
[INFO] Executed tasks
{code}

2.1.0-M1: *correct behavior*
{code}
[INFO] Initializing DocletTasks!!!
[INFO] Executing tasks
    [touch] Creating /Users/niick/downloads/MNG-3530/target/clover/test.clover
     [echo] Build Dir: /Users/niick/downloads/MNG-3530/target/clover/test.clover
[INFO] Executed tasks
{code}

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164281#action_164281 ] 

John Casey commented on MNG-3530:
---------------------------------

I can't get the attached sample project to fail. I'm using JDK 1.4 with Maven 2.1.0-M1, and had to modify the POM to include the following repository entry:

{code:xml}
    <pluginRepositories>
      <pluginRepository>
        <id>atlassian</id>
        <url>http://repository.atlassian.com/maven2</url>
      </pluginRepository>
    </pluginRepositories>
{code}

but it clearly shows the xdoclet plugin creating the target/clover/test.clover file...

Can someone tell me how I can reproduce this problem? BTW, the Maven core ITs are all passing here for this issue, too...

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=138088#action_138088 ] 

John Casey commented on MNG-3530:
---------------------------------

I've refactored the way POM expressions are resolved in the build section, and will be posting my proposal to fix this issue shortly on http://docs.codehaus.org/display/MAVEN/Dynamic+POM+Build+Sections (confluence isn't responding for me to post a revision to this document ATM)...

The feature branch I've been working on is at:

http://svn.apache.org/repos/asf/maven/components/branches/john-2.0.x-dynamicBuild


One question, though: I've tried to run the MNG-3530 project attached to this issue, and it fails without creating a target/clover/test.clover directory. This would seem to be because clover isn't running when you run 'mvn clean install'...is there another way to verify this fix against the issue you're reporting? I've added integration tests for this issue here:

https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3530-dynamicPOMInterpolation


But, I'm not sure whether they express the whole problem.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164723#action_164723 ] 

Brett Porter commented on MNG-3530:
-----------------------------------

I think I made the same mistake I may have made earlier - running "mvn clean install" from the first instructions with the second project. It works if I run the clover instrument command per the latter instructions.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M1
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164510#action_164510 ] 

Brett Porter commented on MNG-3530:
-----------------------------------

interesting - I had the problem in 2.1.0-M1. I'll try it again to confirm, maybe I got them mixed up.

Nick, can we close this if it is solved in a final 2.1.0 in the near future?

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Closed: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey closed MNG-3530.
---------------------------

    Resolution: Fixed

merged from feature branch, and verified on 2.0.x branch build.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Updated: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brian Fox (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Fox updated MNG-3530:
---------------------------

         Assignee: John Casey
    Fix Version/s: 2.0.10
          Summary: Regression: Properties get resolved before the LifeCycle is Forked.  (was: Properties get resolved before the LifeCycle is Forked.)

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164720#action_164720 ] 

Brett Porter commented on MNG-3530:
-----------------------------------

I'm still getting this with 2.1.0-M1 and M2-SNAPSHOT. Are we all using the same versions of the plugins?

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Updated: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter updated MNG-3530:
------------------------------

    Fix Version/s:     (was: 2.1.0-M2)
                   2.1.0-M3

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M3
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Closed: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter closed MNG-3530.
-----------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.1.0)
                   2.1.0-M1

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M1
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Updated: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter updated MNG-3530:
------------------------------

    Fix Version/s:     (was: 2.1.0-M1)
                   2.1.0-M2

need to review the fix and the IT, I have the same problem in both sample projects provided with 2.1.0-M1

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0-M2
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Commented: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=164722#action_164722 ] 

Benjamin Bentmann commented on MNG-3530:
----------------------------------------

bq. Are we all using the same versions of the plugins?
The attached test project is missing plugin versions, that should be fixed to wipe out this uncertainty.

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.1.0
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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

        

[jira] Updated: (MNG-3530) Regression: Properties get resolved before the LifeCycle is Forked.

Posted by "Nick Pellow (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Pellow updated MNG-3530:
-----------------------------

    Attachment: MNG-3530.zip

This archive has no dependency on Clover.

FYI - the next release of the clover plugin will be have a valid evaluation license bundled.

Cheers,
Nick

> Regression: 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
>            Assignee: John Casey
>             Fix For: 2.0.10
>
>         Attachments: MNG-3530.tar.gz, MNG-3530.zip
>
>
> 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