You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Hervé Boutemy (JIRA)" <ji...@apache.org> on 2016/08/03 19:36:20 UTC

[jira] [Commented] (MNG-6059) Important use cases not covered, as child.inherit.append.path affects all children

    [ https://issues.apache.org/jira/browse/MNG-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15406484#comment-15406484 ] 

Hervé Boutemy commented on MNG-6059:
------------------------------------

that's a good (unusual) idea: the only part that I don't like is that the String has to be split to know if a value is inside.
What about following variant: {{child.inherit.append.path="[|true|false|url|connections]"}}
("connections" means both connection and developerConnection)

bq. This would remove the need for different attribute names and somewhat alleviate my criticism that project/@child.inherit.append.path would be too far away from project/url for the casual reader to spot what the former refers to; child.inherit.append.path="url" makes this a lot clearer.
I think you're confused between {{project.url}} and {{project.scm.url}}

perhaps the same {{child.inherit.append.path}} attribute name for the 3 places is an issue: should we rename them to {{child.project.url.inherit.append.path}}, {{child.scm.inherit.append.path}} and {{child.site.url.inherit.append.path}}?

> 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
>             Fix For: 3.4.0
>
>
> 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)