You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tobias Oberlies (JIRA)" <ji...@codehaus.org> on 2013/05/03 14:38:52 UTC

[jira] (MNG-5474) combine.children="merge" has reversed ordering of combine.children="append"

Tobias Oberlies created MNG-5474:
------------------------------------

             Summary: combine.children="merge" has reversed ordering of combine.children="append"
                 Key: MNG-5474
                 URL: https://jira.codehaus.org/browse/MNG-5474
             Project: Maven 2 & 3
          Issue Type: Bug
          Components: POM
    Affects Versions: 3.0.5
            Reporter: Tobias Oberlies
            Priority: Minor


I have a configuration parameter that has a list of child elements (which themselves contain configuration elements). The child elements have distinct names, but their order matters. They each denote a pre-condition, and I want to be able to specify which one wins in case multiple pre-conditions apply.

Obviously, I want more specific configuration (e.g. execution level > plugin level) to win. As a plugin, I only get the merged configuration as list (using the parameter type PlexusConfiguration). So to achieve the desired precedence, I need to rely on the order of the child elements.

I was surprised to see that {{combine.children="merge"}} and {{combine.children="append"}} give opposite results. For the former, more specific configuration is a the top whereas for the latter, the more specific configuration is at the end of the list.

Example:
{noformat}
<configuration>
  <myParam combine.children="append">
    <parentMgtConfig>...</parentMgtConfig>
    <parentConfig>...</parentConfig>
    <pluginConfig>...</pluginConfig>
    <execConfig>...</execConfig>
  </myParam>
</configuration>
{noformat}
{noformat}
<configuration>
  <myParam combine.children="merge">
    <execConfig>...</execConfig>
    <pluginConfig>...</pluginConfig>
    <parentConfig>...</parentConfig>
    <parentMgtConfig>...</parentMgtConfig>
  </myParam>
</configuration>
{noformat}

I think that {{combine.children="merge"}} should also be in parent-first order.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira