Maven Mixins
While I’m generally a fan of Maven, it is true that the pom.xml
files can become a little unwieldy.
Since Maven 4.0 (with long hoped-for mixins) still seems to be a way off, I decided to create some maven mixins using Ohad David’s maven-mixin-plugin.
I’ve ended up with the following maven mixins:
Module | Description | Applicable for… |
---|---|---|
Maven mixin providing the ability to run various static analysis plugins (checkstyle, pmd, findbugs, javancss, jdepend) |
Applicable for any Java application. |
|
Maven mixin that configures cucumber reporting plugin for BDD specs. |
Applicable for any Java application that uses Cucumber BDD specs |
|
A maven mixin that provides datanucleus:enhance plugin (for JDO entities of DN modules) |
Applicable for Java applications that use DataNucleus for persistence (including, of course, Apache Isis applications). |
|
Maven mixin that applies the maven enforcer plugin (but with relaxed dependency convergence) |
Applicable for any Java application. |
|
Maven mixin providing the ability to run an Apache Isis application under JRebel. |
Applicable for Apache Isis applications only; requires a JRebel license. |
|
Maven mixin providing the ability to run isis:swagger goal for an Apache Isis domain application |
Applicable for Apache Isis applications that use the Restful Objects viewer to automatically expose a REST API. |
|
Configures the Apache Isis maven plugin to run the validate goal for a domain object model. |
Applicable for Apache Isis applications only. |
|
Maven mixin to configure jetty-console plugin (to create a standalone version of a webapp) |
Applicable for any Java web application. |
|
Maven mixin to package up a webapp as a WAR file, and to allow the webapp to be run using the jetty maven plugin |
Applicable for any Java web application. |
|
Maven mixin providing the ability to run source, javadoc and jxr plugins |
Applicable for any Java application. |
|
Maven mixin for the "standard" set of plugins. |
Applicable for any Java application. |
|
Configuration to run surefire plugin for unit, integration and (Cucumber) BDD specs. |
Applicable for any Java application. Uses naming conventions to distinguish between different types of tests |
While I was at it, I also created some modules to aggregate together common Maven dependencies:
Module | Description | Applicable for… |
---|---|---|
Convenience maven pom to aggregate maven dependencies for running Apache Isis webapps |
Applicable for Apache Isis applications only. |
|
Convenience maven pom for running Apache Isis applications from within IntelliJ IDE |
Applicable for Apache Isis applications only. |
|
Convenience maven pom to aggregate maven dependencies for testing Apache Isis applications |
Applicable for Apache Isis applications only. |
See the README for each of the corresponding git repos for details on how to configure.