Andreas Sewe created MNG-6059:
---------------------------------
Summary: Important use cases not covered, as
child.inherit.append.path affects all children
Key: MNG-6059
URL: https://issues.apache.org/jira/browse/MNG-6059
Project: Maven
Issue Type: Bug
Components: Inheritance and Interpolation
Environment: Apache Maven 3.4.0-SNAPSHOT
(227085283b6379038ec16f4cf9ad2e8869cef694; 2016-07-06T21:29:12+02:00)
Reporter: Andreas Sewe
The {{child.inherit.append.path}} attribute introduced with MNG-5951
unfortunately does not support the use case where the children of the element
with the attribute should follow different inheritance rules. Take a typical
configuration for Github, for example (taken from
<http://central.sonatype.org/pages/requirements.html>):
{noformat}
<scm>
<connection>scm:git:git://github.com/simpligility/ossrh-demo.git</connection>
<developerConnection>scm:git:ssh://github.com:simpligility/ossrh-demo.git</developerConnection>
<url>http://github.com/simpligility/ossrh-demo/tree/master</url>
</scm>
{noformat}
If the {{ossrh-demo.git}} repository contains a child module called
{{some-module}}, then that child’s {{scm/url}} should become
{{http://github.com/simpligility/ossrh-demo/tree/master/some-module}} as per
the normal inheritance rules, but both the {{scm/connection}} and
{{scm/developerConnection}} URLs should remain unchanged.
Unfortunately, this is not possible with {{*child*.inherit.append.path}}, which
acts on all children simultaneously.
IMHO, this is a conceptual problem. In particular, setting
{{child.inherit.append.path}} on the *root* element to just control a single
child ({{project/url}}) feels wrong, as the attribute is in all likelihood not
even located close to the {{<url>}} element it controls.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)