maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hervé Boutemy (JIRA) <j...@apache.org>
Subject [jira] [Comment Edited] (MNG-6059) Important use cases not covered, as child.inherit.append.path affects all children
Date Sat, 09 Jul 2016 15:29:10 GMT

    [ 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)

Mime
View raw message