[ https://issues.apache.org/jira/browse/MNG-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15369133#comment-15369133 ]
Hervé Boutemy edited comment on MNG-6059 at 7/9/16 3:28 PM: ------------------------------------------------------------ trying to work back on this, a good number of monthes after the initial implementation: new eyes on my own work, re-discovering it, and seeing if it is really usable/clear (and where are misunderstandings) First, there not only 1 {{child.inherit.append.path}} attribute, but 3: 1. one on {{project}} for {{project.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_project 2. one on {{project.scm}} for {{project.scm.connection}}, {{project.scm.developerConnection}} and {{project.scm.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_scm 3. one on {{project.distributionManagement.site}} for {{project.distributionManagement.site.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_site IIUC your issue, it's one the second one that affects the 3 {{project.scm}} urls consistently where you'd need something else My own issue is that the documentation talks 3 times about {{child.urls.inherit.append.path="false"}}: 1. this is not the attribute name (notice the ".urls"), 2. and this does not help understanding that there are 3 different attributes. Clearly, the attribute names will have to be reworked and model documentation will have to be modified accordingly then regarding {{project.scm}}: I'm not in sync at all with Robert's analysis, we both know :) to me, Maven's git SCM url should be improved to support naming a path into a git repo (or any SCM that separates the repo location and the path inside the repo) for example: {{<connection>scm:git:git://github.com/simpligility/ossrh-demo.git#/some-module</connection>}} this would improve SCM support, instead of removing useful feature but this improvement is not in Maven core: it's in maven-scm And it will perhaps require updates in MPIR plugin, or even maven-scm api, to clearly separate repo location from path inside the repo (something that is completely hidden in CVS or svn) is someone interested to work on this with me? (that's the point where usually everybody disappears) was (Author: hboutemy): trying to work back on this, a good number of monthes after the initial implementation: new eyes on my own work, re-discovering it, and seeing if it is really usable/clear (and where are misunderstandings) First, there not only 1 {{child.inherit.append.path}} attribute, but 3: 1. one on project for {{project.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_project 2. one on project.scm for {{project.scm.connection}}, {{project.scm.developerConnection}} and {{project.scm.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_scm 3. one on project.distributionManagement.site for {{project.distributionManagement.site.url}}: http://maven.apache.org/ref/3-LATEST/maven-model/maven.html#class_site IIUC your issue, it's one the second one that affects the 3 project.scm urls consistently where you'd need something else My own issue is that the documentation talks 3 times about {{child.urls.inherit.append.path="false"}}: this is not the attribute name (notice the ".urls"), and this does not help understanding that there are 3 different attributes. Clearly, the attribute names will have to be reworked and model documentation will have to be modified accordingly then regarding project.scm: I'm not convinced at all with Robert's analysis :) to me, Maven's git SCM url should be improved to support naming a path into a git repo (or any SCM that separates the repo location and the path inside the repo) for example: {{<connection>scm:git:git://github.com/simpligility/ossrh-demo.git#/some-module</connection>}} this would improve SCM support, instead of removing useful feature but this improvement is not in Maven core: it's in maven-scm And it will perhaps require updates in MPIR plugin, or even maven-scm api, to clearly separate repo location from path inside the repo (something that is completely hidden in CVS or svn) > 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)