You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Scott MacDonald (Jira)" <ji...@apache.org> on 2019/10/02 22:11:00 UTC

[jira] [Comment Edited] (ARCHETYPE-552) Erroneous Inheritance Cycle Generated By Archetype Plugin

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

Scott MacDonald edited comment on ARCHETYPE-552 at 10/2/19 10:10 PM:
---------------------------------------------------------------------

Just ran into this exact  issue on maven 3.6.2 with the  bundled archetype plugin, and it also occurs  on latest 3.2.1 archetype  plugin.  Came here to log a bug and and submit a minimal reproducible case, but low and behold, somebody already did...me!! hah! over a year ago!!  Well that saves me little time (not as much as if I remembered I did that 2 hours ago...ha) .

 

Anyway, sure hope somebody can fix this cuz  using a sibling parent with an aggregator pom that inherits from it is pretty nice pattern. (man people separate aggregation and inheritance this way)   I've use this pattern on hundreds of projects. .   I just can't generate working templated projects for therm with the archetype plugin.  

A none ideal workaround is to break the inheritance from the aggregator to the parent, and then  specify  version in the aggregator, which isn't ideal  cuz DRY....and I also have call versions:set twice to change them (once on aggregator, once on parent).   Not a huge deal, but it would be wonderful if it archetype didn;t  erroneously add the inheritance  cycle in the first place.

 

 


was (Author: scanguskhan):
Just ran into this exact  issue on maven 3.6.2 with the  bundled archetype plugin, and it also occurs  on latest 3.2.1 archetype  plugin.  Came here to log a bug and and submit a minimal reproducible case, but low and behold, somebody already did...me!! hah! over a year ago!!  Well that saves me little time (not as much as if I remembered I did that 2 hours ago...ha) .

 

Anyway, sure hope somebody can fix this cuz  using a sibling parent with an aggregator pom that inherits from it is pretty nice pattern. (man people separate aggregation and inheritance this way)   I've use this pattern on hundreds of projects. .   I just can't generate working templated projects for therm with the archetype plugin.  

A none ideal workaround is to break the inheritance from the aggregator to the parent, and then  specify  version in the aggregator, which isn't ideal  cuz DRY....and I also have call versions:set twice to change them (once on aggregator, once on parent).   Not a huge deal, but it would be wonderful if it archetype didn;t  erroneously add the inheritance  cycle in the first.

 

 

> Erroneous Inheritance Cycle Generated By Archetype Plugin
> ---------------------------------------------------------
>
>                 Key: ARCHETYPE-552
>                 URL: https://issues.apache.org/jira/browse/ARCHETYPE-552
>             Project: Maven Archetype
>          Issue Type: Bug
>          Components: Plugin
>    Affects Versions: 3.0.1
>            Reporter: Scott MacDonald
>            Priority: Major
>         Attachments: maven-archetype-parent-cycle-bug.zip
>
>
> When developing a multi module archetype with a root level aggregator pom which inherits from a sibling parent within the project,  the archetype generated project will incorrectly add the aggregator pom as a parent in the sibling parent pom file, causing an inheritance cycle in the generated project.
> Attached is a zip file containing a minimal archetype project that demonstrates the behavior.
> After running mvn install,   you can inspect target/test-classes/projects/it-basic/project/example-project/example-project-parent/pom.xml  and see that the generated project incorrectly adds the top-level aggregate pom  as a parent in the parent pom causing an inheritance cycle, even though such a parent designation is  not specified in the archetype resources.
>  
> The exact element that is incorrectly added to target/test-classes/projects/it-basic/project/example-project/example-project-parent/pom.xml is below..
>     <parent>
>      <artifactId>example-project-aggregator</artifactId>
>      <groupId>com.foo</groupId>
>      <version>0.0.0</version>
>    </parent>
>  
> After the failure, removing the  incorrect parent pom element from the  target/test-classes/projects/it-basic/project/example-project/example-project-parent/pom.xml results in a working  maven project. 
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)