maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Lampada (JIRA)" <j...@codehaus.org>
Subject [jira] (MNG-5102) Mixin POM fragments
Date Wed, 01 Aug 2012 19:13:21 GMT

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

Tony Lampada commented on MNG-5102:
-----------------------------------

Dunno. 
IMO, import scope was a very important step for maven as it is a move towards the "favor composition
over inheritance" design principle for poms.
However that limits using composition for project dependencies.

There's nothing that import scopes can do for me if I want to make a reusable piece of build
*behaviour*, like for example, using the maven-dependency-plugin to unpack a few dependencies
during the proccess-resources phase.

Please see 

* MNG-5127
* http://stackoverflow.com/questions/11749375/import-maven-plugin-configuration-by-composition-rather-than-inheritance-can-it
* http://stackoverflow.com/questions/10245621/how-to-inherit-from-a-multimodule-maven-project-with-all-its-goodies
                
> Mixin POM fragments
> -------------------
>
>                 Key: MNG-5102
>                 URL: https://jira.codehaus.org/browse/MNG-5102
>             Project: Maven 2 & 3
>          Issue Type: Wish
>          Components: POM
>    Affects Versions: 2.2.1
>            Reporter: Anthony Whitford
>             Fix For: 3.1
>
>         Attachments: 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message