Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0-alpha-1
-
Fix Version/s: 3.0-alpha-1
-
Component/s: Inheritance and Interpolation
-
Labels:None
-
Complexity:Intermediate
Description
Parent POM snippet:
<ciManagement> <system>parent-ci</system> <url>http://parent.url/ci</url> <notifiers> <notifier> <type>irc</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>false</sendOnSuccess> <sendOnWarning>false</sendOnWarning> <configuration> <address>irc://parent.url/#ci</address> </configuration> </notifier> </notifiers> </ciManagement>
Child POM snippet:
<ciManagement> <system>child-ci</system> <url>http://child.url/ci</url> </ciManagement>
Effective child POM:
<ciManagement> <system>child-ci</system> <url>http://child.url/ci</url> <notifiers> <notifier> <type>irc</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>false</sendOnSuccess> <sendOnWarning>false</sendOnWarning> <configuration> <address>irc://parent.url/#ci</address> </configuration> </notifier> </notifiers> </ciManagement>
i.e. the notifiers are erroneously inherited although the child has specified its own CI management. Happens to a couple of other elements like <distributionManagement>, too. It appears the all-or-nothing style inheritance present in Maven 2.x for certain elements is not properly emulated on trunk.
Would a work-around be to specify an empty notifiers ?
Otherwise it seems correct behaviour from an overall view, because the properies are merged to the effective pom. And it seems to work fine.
To some extend it is "you" that knows that <notifiers> goes as attributes to a kind of key. As I understand maven, maven knows nothing about this.