[
https://issues.apache.org/jira/browse/MNG-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15369133#comment-15369133
]
Hervé Boutemy commented on MNG-6059:
------------------------------------
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)