[ 
http://jira.codehaus.org/browse/MNG-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_123442
 ] 

Danilo Eiji Seki commented on MNG-1994:
---------------------------------------

I noticed something strange and made a test. I suspected plugins/reports were 
being executed in *alphabetic order* (first by groupId, then by artifactId) and 
so they are!

For example, I have a problem generating QALab reports in child projects, 
because QALab plugin was always executed before the reports that generate data. 
Then I noticed the reports were generated *almost* in the order I specify them 
(I use the above alphabetic order, expept for the QALab plugin, that is the 
last one). Then I imagined that maybe that happens because all my reports are 
from {{org.*}} groups while QALab belongs to {{net.*}}.

I tested it by creating a dummy plugin by renaming the groupId of a QALab 
report plugin to {{zzz.net.objectlab}} and deploying it to my local repository. 
Then I changed my root dependency to this new one and magic, *IT WORKS*.

I suspect someone is using a sorted collection (tree set, etc). Some 
display-beautifuly-list is messing things up.

> Execution order of child plugins is arbitrary if inheritance is involved
> ------------------------------------------------------------------------
>
>                 Key: MNG-1994
>                 URL: http://jira.codehaus.org/browse/MNG-1994
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>    Affects Versions: 2.0.1
>            Reporter: John Didion
>            Priority: Critical
>             Fix For: 2.1
>
>         Attachments: mergePluginLists.txt
>
>
> This is related to MNG-1499, but different, and, in my opinion, equally 
> important. It makes sense that the order of plugin execution should be the 
> same as it appears in the POM. For example, I have two plugins: one that 
> generates a batch file and one that executes it. These plugins must run in 
> order or the build will fail. However, the current implementation of 
> ModelUtils.mergePluginLists does not respect the order of child plugins.
> There is also a seperate bug in that the assembledPlugins map is being 
> checked for the presence of child plugins before adding them to the 
> mergedPlugins list, but nothing is ever added to assembledPlugins. So if a 
> plugin exists in a parent and a child, it will end up appearing twice in the 
> child's plugin list.
> I have re-written this method to fix both these problems. See attached.

-- 
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

        

Reply via email to