Details
-
Wish
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.2.1
-
None
Description
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.