maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maurizio Pillitu (JIRA)" <>
Subject [jira] Updated: (MNG-5102) Mixin POM fragments
Date Tue, 24 May 2011 08:08:22 GMT


Maurizio Pillitu updated MNG-5102:


I've some code to share - tested on Maven 3.0.2 - which composes a Maven POM from different
tiles; it's a spike of 2 days work, but I think results are very interesting.

The implementation consists of:
- an implementation of (120 lines)
- a components.xml

The attached ZIP file contains a Maven build to produce a JAR that needs to be copied in M2_HOME/lib,
a README.txt and a working sample; there are still some issues (e.g. properties inheritance),
which are reported in the README, but I think that it gives the idea.

I really hope this could help with this feature implementation.

> Mixin POM fragments
> -------------------
>                 Key: MNG-5102
>                 URL:
>             Project: Maven 2 & 3
>          Issue Type: Wish
>          Components: POM
>    Affects Versions: 2.2.1
>            Reporter: Anthony Whitford
>             Fix For: 3.1
>         Attachments:
> 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
> 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 contact one of the administrators:
For more information on JIRA, see:


View raw message