You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Sam Brougher (JIRA)" <ji...@apache.org> on 2017/11/08 17:04:00 UTC

[jira] [Commented] (MNG-5102) Mixin POM fragments

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

Sam Brougher commented on MNG-5102:
-----------------------------------

The inability to have some kind of mixin functionality is likely going to drive my company away from Maven to something like Gradle. This should really be a much higher priority than "maybe someday".

> Mixin POM fragments
> -------------------
>
>                 Key: MNG-5102
>                 URL: https://issues.apache.org/jira/browse/MNG-5102
>             Project: Maven
>          Issue Type: Wish
>          Components: FDPFC, POM
>    Affects Versions: 2.2.1
>            Reporter: Anthony Whitford
>             Fix For: Issues to be reviewed for 4.x
>
>         Attachments: daddy3.zip, maven-tiles.zip
>
>
> I am looking for a way to _mixin_ POM fragments into POMs.  Note that this idea is beyond parent pom inheritance because all projects inherit from a corporate parent pom.  The problem that I am running into is that the corporate parent pom is turning into an _"everything but the kitchen sink"_ POM and I'd like to dissect it into POM fragments relevant for individual modules.
> For example, I would like to have mixins for:
> * Java projects (that include static code analysis plugins, javadoc, etc.)
> * JPA projects (that include DDL generation)
> * Flex projects (that include flexmojos, asdoc, etc.)
> * Scala projects (that include the maven-scala-compiler plugin, scaladoc, etc.)
> * JavaScript projects (that include build plugins like maven-yuicompressor-plugin with jslint and compress goals)
> Hopefully, you get the idea.  Without the ability to factor pom logic, we are left with two symptoms:
> # copy/paste duplication
> # complex _"it does it all"_ parent poms (which slow down builds because more plugins are loaded even though they might not do anything material)
> Note that a project may include multiple mixins as I could have a project that contains Java code, Scala code, and JavaScript.
> Another idea is that the mixins could be parameterized, so that the ultimate pom can be customized based on the parameters (like tokens).
> I recall reading about Mixins coming in Maven 3.1, but could not find any such issue to watch, so am creating one.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)