[ https://issues.apache.org/jira/browse/MNG-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15370314#comment-15370314 ]
Andreas Sewe commented on MNG-6059: ----------------------------------- {quote} Do you have a proposal for better naming? and, of course, if you want a separate configuration for scm.url and scm.connection/developerConnection, you'll have to propose 2 attribute names on scm {quote} [~hboutemy], I don’t think having 5 different attributes is the way to go. To me, the current solution has a couple of drawbacks: # The attribute may be very far away from the element it controls. In particular, in real-world POMs there are often many lines between {{project/@child.inherit.append.path}} and {{project/url}}, making it hard for the reader to determine what rules apply to a given {{project/url}} element. # Unlike {{combine.children}}, which work for *any* element in the POM, this introduces a special-case (or rather five special cases). Is there a technical reason to not have a single attribute sitting at the inheritable element itself? See my proposal of a generic {{inherit}} attribute on MNG-5951. IMHO, it could even be made to work for the {{ossrh-demo.git#/some-module}} case. > 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)