[
http://jira.codehaus.org/browse/MNG-5102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maurizio Pillitu updated MNG-5102:
----------------------------------
Attachment: maven-tiles.zip
Hi,
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 MavenLifecycleParticipant.java (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: http://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 contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira