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: l...@jguru.se
| URL:   www.jguru.se
| Phone
| (skype):    jgurueurope
| (intl):     +46 708 507 603
| (domestic): 0708 - 507 603
+==============================+

Reply via email to