You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Herve Boutemy (JIRA)" <ji...@codehaus.org> on 2011/05/01 18:53:22 UTC

[jira] Updated: (MNG-5052) ciManagement configuration ignore combine.children

     [ http://jira.codehaus.org/browse/MNG-5052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Herve Boutemy updated MNG-5052:
-------------------------------

    Description: 
The configuration ciManagement/notifiers ignore the attribute combine.children="append" when merging with a parent POM.

When merging, no matter what, the child pom overwrite the parent notifiers, even if combine.children="append" is supplied.


Parent POM fragment

{code:xml}  <ciManagement>
    <system>continuum</system>
    <url>http://continuum.com</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>true</sendOnSuccess>
        <sendOnWarning>true</sendOnWarning>
        <configuration>
          <address>admin@example.com</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>{code}


========================================================

Child POM fragment

{code:xml}   <ciManagement>
    <notifiers combine.children="append">
      <notifier>
        <type>mail</type>
        <sendOnError>false</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>{code}


=========================================================

Resulted POM fragment ( using mvn projecthelp:effective-pom )

{code:xml}  <ciManagement>
    <notifiers>
      <notifier>
        <sendOnError>false</sendOnError>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>{code}



=========================================================
Expected POM fragment

{code:xml}  <ciManagement>
    <system>continuum</system>
    <url>http://continuum.com</url>
    <notifiers>
      <notifier>
        <configuration>
          <address>admin@example.com</address>
        </configuration>
      </notifier>
      <notifier>
        <sendOnError>false</sendOnError>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>{code}

=========================================================

The parent POM notifier is completely ignored, even though combine.children="append" is supplied.

Tested with Maven 2.2.1 and 3.0.3 without success.

The attempted goal is to have admin to be notified for every event, but the developer of certain package (the child) to be notified only should the build fail.

  was:
The configuration ciManagement/notifiers ignore the attribute combine.children="append" when merging with a parent POM.

When merging, no matter what, the child pom overwrite the parent notifiers, even if combine.children="append" is supplied.


Parent POM fragment

  <ciManagement>
    <system>continuum</system>
    <url>http://continuum.com</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>true</sendOnSuccess>
        <sendOnWarning>true</sendOnWarning>
        <configuration>
          <address>admin@example.com</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>


========================================================

Child POM fragment

   <ciManagement>
    <notifiers combine.children="append">
      <notifier>
        <type>mail</type>
        <sendOnError>false</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>


=========================================================

Resulted POM fragment ( using mvn projecthelp:effective-pom )

  <ciManagement>
    <notifiers>
      <notifier>
        <sendOnError>false</sendOnError>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>



=========================================================
Expected POM fragment

  <ciManagement>
    <system>continuum</system>
    <url>http://continuum.com</url>
    <notifiers>
      <notifier>
        <configuration>
          <address>admin@example.com</address>
        </configuration>
      </notifier>
      <notifier>
        <sendOnError>false</sendOnError>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>list_dev@example.com</address>
          <committers>true</committers>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>

=========================================================

The parent POM notifier is completely ignored, even though combine.children="append" is supplied.

Tested with Maven 2.2.1 and 3.0.3 without success.

The attempted goal is to have admin to be notified for every event, but the developer of certain package (the child) to be notified only should the build fail.


> ciManagement configuration ignore combine.children
> --------------------------------------------------
>
>                 Key: MNG-5052
>                 URL: http://jira.codehaus.org/browse/MNG-5052
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: POM
>    Affects Versions: 2.2.1, 3.0.3
>            Reporter: Philippe Busque
>            Assignee: Benjamin Bentmann
>
> The configuration ciManagement/notifiers ignore the attribute combine.children="append" when merging with a parent POM.
> When merging, no matter what, the child pom overwrite the parent notifiers, even if combine.children="append" is supplied.
> Parent POM fragment
> {code:xml}  <ciManagement>
>     <system>continuum</system>
>     <url>http://continuum.com</url>
>     <notifiers>
>       <notifier>
>         <type>mail</type>
>         <sendOnError>true</sendOnError>
>         <sendOnFailure>true</sendOnFailure>
>         <sendOnSuccess>true</sendOnSuccess>
>         <sendOnWarning>true</sendOnWarning>
>         <configuration>
>           <address>admin@example.com</address>
>         </configuration>
>       </notifier>
>     </notifiers>
>   </ciManagement>{code}
> ========================================================
> Child POM fragment
> {code:xml}   <ciManagement>
>     <notifiers combine.children="append">
>       <notifier>
>         <type>mail</type>
>         <sendOnError>false</sendOnError>
>         <sendOnFailure>true</sendOnFailure>
>         <sendOnSuccess>false</sendOnSuccess>
>         <sendOnWarning>false</sendOnWarning>
>         <configuration>
>           <address>list_dev@example.com</address>
>           <committers>true</committers>
>         </configuration>
>       </notifier>
>     </notifiers>
>   </ciManagement>{code}
> =========================================================
> Resulted POM fragment ( using mvn projecthelp:effective-pom )
> {code:xml}  <ciManagement>
>     <notifiers>
>       <notifier>
>         <sendOnError>false</sendOnError>
>         <sendOnSuccess>false</sendOnSuccess>
>         <sendOnWarning>false</sendOnWarning>
>         <configuration>
>           <address>list_dev@example.com</address>
>           <committers>true</committers>
>         </configuration>
>       </notifier>
>     </notifiers>
>   </ciManagement>{code}
> =========================================================
> Expected POM fragment
> {code:xml}  <ciManagement>
>     <system>continuum</system>
>     <url>http://continuum.com</url>
>     <notifiers>
>       <notifier>
>         <configuration>
>           <address>admin@example.com</address>
>         </configuration>
>       </notifier>
>       <notifier>
>         <sendOnError>false</sendOnError>
>         <sendOnSuccess>false</sendOnSuccess>
>         <sendOnWarning>false</sendOnWarning>
>         <configuration>
>           <address>list_dev@example.com</address>
>           <committers>true</committers>
>         </configuration>
>       </notifier>
>     </notifiers>
>   </ciManagement>{code}
> =========================================================
> The parent POM notifier is completely ignored, even though combine.children="append" is supplied.
> Tested with Maven 2.2.1 and 3.0.3 without success.
> The attempted goal is to have admin to be notified for every event, but the developer of certain package (the child) to be notified only should the build fail.

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