Hello all,
I have just changed the IT structure for the Jaxb2-Maven-Plugin in Bamboo,
in preparation for the release of version 2.0 which is a major plugin
upgrade. The change on bamboo reflects a change in requirements for the
plugin, and I believe we should approach this in a similar manner for all
Mojo Plugins.
*Changed minimum requirements*
I would recommend that we migrate to the following requirement for all our
plugins:
1. Minimum Maven version 3.0.4 (i.e. drop support for Maven 2.x)
2. Run ITs on JDK 1.6, 1.7 and 1.8 (i.e. require that codebase is
compilable with JDK 8, in addition to 6 and 7)
*Added Mojo Parent capabilities*
Also, I would recommend upgrading the Mojo parent to augment some generic
site (and other) capabilities in the following manner (will write JIRAs for
this, but I want a discussion first):
1. Include PlantUML diagramming capabilities, such as is done in the
latest SNAPSHOT POM of the jaxb2-maven-plugin. PlantUML is a powerful tool
and can be used to draw illustrative diagrams of various sorts. This would
require two new variables in the Mojo Parent corresponding to the two
versions (plantuml and plantuml plugin) seen in the snippet below.
2. Add the depends-maven-plugin to Mojo Parent, to ensure that all of
our plugins contain a simple-to-parse listing of all dependencies used to
build the plugin - including all transitive dependencies. This would
require one new variable in the Mojo Parent corresponding to the plugin
version.
3. Define descriptions on how to create JDK 8-compliant JavaDocs. Or -
alternatively - disengage the lint checks for JDK 8, to ignore the
syntactic problems.
The 3 enhancements above correspond to the pom snippet below; I would deem
these improvements as completely unintrusive for the plugin and hence not
problematic to add. Waddaya say?
<!-- Generate maven dependencies listing file -->
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>depends-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>generate-depends-file</id>
<goals>
<goal>generate-depends-file</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Provides PlantUML integration into site deployments. -->
<plugin>
<groupId>com.github.jeluard</groupId>
<artifactId>plantuml-maven-plugin</artifactId>
<version>7954</version>
<configuration>
<sourceFiles>
<directory>${basedir}</directory>
<includes>
<include>src/site/**/*.puml</include>
</includes>
</sourceFiles>
<outputDirectory>${project.build.directory}/site/images/plantuml</outputDirectory>
</configuration>
<executions>
<execution>
<id>generate-plantuml-diagrams</id>
<goals>
<goal>generate</goal>
</goals>
<phase>pre-site</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sourceforge.plantuml</groupId>
<artifactId>plantuml</artifactId>
<version>8017</version>
</dependency>
</dependencies>
</plugin>
--
--
+==============================+
| Bästa hälsningar,
| [sw. "Best regards"]
|
| Lennart Jörelid
| EAI Architect & Integrator
|
| jGuru Europe AB
| Mölnlycke - Kista
|
| Email: [email protected]
| URL: www.jguru.se
| Phone
| (skype): jgurueurope
| (intl): +46 708 507 603
| (domestic): 0708 - 507 603
+==============================+