[
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