You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andrew VanLoo (JIRA)" <ji...@apache.org> on 2018/05/02 13:06: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=16460994#comment-16460994 ] 

Andrew VanLoo commented on MNG-5102:
------------------------------------

Is it possible to use some kind of `include`s directive, like Apache Web Server does with configuration files?  That works extremely well there.

> 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
>            Priority: Major
>             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
(v7.6.3#76005)