You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Brett Porter (JIRA)" <ji...@codehaus.org> on 2008/06/13 04:38:12 UTC
[jira] Closed: (MNG-3528) Order of executing plugins in maven 2.0.9
[ http://jira.codehaus.org/browse/MNG-3528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brett Porter closed MNG-3528.
-----------------------------
Assignee: Brett Porter
Resolution: Duplicate
> Order of executing plugins in maven 2.0.9
> -----------------------------------------
>
> Key: MNG-3528
> URL: http://jira.codehaus.org/browse/MNG-3528
> Project: Maven 2
> Issue Type: Bug
> Components: Plugins and Lifecycle
> Affects Versions: 2.0.9
> Environment: Maven 2.0.9
> Reporter: David Bernhard
> Assignee: Brett Porter
> Priority: Minor
> Attachments: 209test.zip
>
>
> Suppose you include a plugin like this:
> <plugin>
> <groupId>my.bug.test</groupId>
> <artifactId>plugin</artifactId>
> <version>1.0</version>
> <executions>
> <execution>
> <id>first</id>
> <phase>compile</phase>
> <goals>
> <goal>first</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> <plugin>
> <groupId>my.bug.test</groupId>
> <artifactId>plugin</artifactId>
> <version>1.0</version>
> <executions>
> <execution>
> <id>second</id>
> <phase>compile</phase>
> <goals>
> <goal>second</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> Then SECOND will execute before FIRST. The reason is in ModelUtils.java:MergePluginDefinitions the new definition is passed as parent and the old as child - and the parent comes first in the merged executions.
> However, this works correctly:
> <plugin>
> <groupId>my.bug.test</groupId>
> <artifactId>plugin</artifactId>
> <version>1.0</version>
> <executions>
> <execution>
> <id>both</id>
> <phase>test</phase>
> <goals>
> <goal>first</goal>
> <goal>second</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> I have included a tiny test case that demonstrates this. Here's my output:
> [INFO] [compiler:compile]
> [INFO] No sources to compile
> [INFO] [:second {execution: second}]
> SECOND
> [INFO] [:first {execution: first}]
> FIRST
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> [INFO] No sources to compile
> [INFO] [surefire:test]
> [INFO] No tests to run.
> [INFO] [:first {execution: both}]
> FIRST
> [INFO] [:second {execution: both}]
> SECOND
--
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