Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5474

combine.children="merge" has reversed ordering of combine.children="append"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.0.5
    • 4.x / Backlog
    • POM
    • None

    Description

      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:

      <configuration>
        <myParam combine.children="append">
          <parentMgtConfig>...</parentMgtConfig>
          <parentConfig>...</parentConfig>
          <pluginConfig>...</pluginConfig>
          <execConfig>...</execConfig>
        </myParam>
      </configuration>
      
      <configuration>
        <myParam combine.children="merge">
          <execConfig>...</execConfig>
          <pluginConfig>...</pluginConfig>
          <parentConfig>...</parentConfig>
          <parentMgtConfig>...</parentMgtConfig>
        </myParam>
      </configuration>
      

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

      Attachments

        Issue Links

          Activity

            People

              gnodet Guillaume Nodet
              tobias.oberlies Tobias Oberlies
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: