maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hervé BOUTEMY <herve.bout...@free.fr>
Subject Re: Inheritance behaviour for MNG-5951 attributes?
Date Sat, 10 Nov 2018 15:47:59 GMT
ok, I investigated more in details and added a little trick in [1]: 
child.site.url.inherit.append.path is inherited independantly from id/name/url

this will manage your edge case, which I can understand is expected

do you think it is ok?

Regards,

Hervé

[1] https://gitbox.apache.org/repos/asf?p=maven.git;a=commit;h=11312d5b275260fbd2b3ed3294da3ccff5413d42

Le mercredi 7 novembre 2018, 00:03:19 CET Hervé BOUTEMY a écrit :
> Le mardi 6 novembre 2018, 10:35:25 CET Mark Raynsford a écrit :
> > 'Ello.
> > 
> > On 2018-11-06T00:03:53 +0100
> > 
> > Hervé BOUTEMY <herve.boutemy@free.fr> wrote:
> > > Hi Mark,
> > > 
> > > even if this is somewhat a corner case (while overriding everything in
> > > b,
> > > you can override the attribute also), it is strange...
> > 
> > I'm not sure it's a corner case, exactly. It reflects the real-life
> > situation I'm in: Consider a tree where 'a' is the root, and there are
> > a large number of projects (at the depth of 'b') that all inherit from
> > 'a'. In my case "large" means "more than seventy" so, as you can
> > imagine, I'm not enthusiastic about going through all of those projects
> > and adding an attribute just to to fix a bug in Maven. :) In my case,
> > there are over 400 modules at the depth of 'c' spread across all of the
> > 'b'-level projects.
> 
> it's a corner case just because in b, you define
> distributionManagement.site.id, name and url, but not
> @child.site.url.inherit.append.path: just define this attribute while at it
> (instead of counting on inheritance) and it will work as expected. Like
> proposed in https://github.com/io7m/mng-6059-examples/pull/1
> > > I can reproduce the issue in an inheritance unit test (no-append-urls in
> > > maven-model-builder), but still need to investigate why it does not work
> > > as
> > > intended by ModelMerger.mergeSite(...): you can easily check by removing
> > > "name" field in b, you'll see that merge for other fields does not work
> > 
> > Good to know it's reproducible in tests.
> 
> in fact, you can also reproduce by defining in b:
>   <distributionManagement>
>     <site>
>       <name>name from B</name>
>     </site>
>   </distributionManagement>
> 
> If you look at effective pom, you'll see that id and url are unexpectedly
> not inherited...
> 
> You discovered an edge case with the new attribute that already exists with
> elements: I still didn't have time yet to investigate on the cause, but
> will do
> 
> Regards,
> 
> Hervé
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message