Op Tue, 10 Feb 2015 14:26:57 +0100 schreef Anders Hammar <and...@hammar.net>:


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)

As discussed (and concluded) somewhere else, we should go with a Maven 3.0
minimum requirement. Unless there is a good technical reason for a higher
version requirement.

+1 for 3.0, see also the corresponding thread at the Apache Maven mailinglist ( http://markmail.org/message/dnjivvkmz2uue33o and http://markmail.org/message/tkwzzkwuxi3zcqa4 )


   1. 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)

Good! I also assume you include have a Java 6 requirement for the codebase
in this statement? I think it's time to leave Java 5 behind.
+1 to move to Java6


One other thing that might be a good time to start thinking about is Java
9. There is no Java 9 on Bamboo yet, but it would be good to start testing our plugins with that as soon as possible. I suspect that some plugins will
be affected by the changes in 9.

*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.

Is this something that all mojos should use?
I'm not totally fond of just shuffling loads of plugins into the parent
unless it's something that should be used by all mojos. So if not it migth
as well be handled per mojo.
I'm also not happy with all these properties for handling one specific
version. Many POMs are turning into Java programs with variables for every
dependency's and plugin's version. Not thte Maven way IMHO.

I'd prefer to not overload the documentation. I know some already are having trouble to find the options per goal.


   1. 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.

Is this something that all mojos should use? What's the usecase?
As discussed in MJAXB-120 I see limited use of this info.

I don't see the need for this, so I'd prefer not to add it to the parent.


1. Define descriptions on how to create JDK 8-compliant JavaDocs. Or -
   alternatively - disengage the lint checks for JDK 8, to ignore the
   syntactic problems.

Good! This is something that all mojos should handle.
We need to do something with javadoc+JDK8 and above. I'd prefer to start with replicating the JDK7 behavior. There should be an option to make it strict again. Once the javadoc is correct for a plugin, you should go back to the default behavior or JDK8.



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?


No? :-)

Also, please not that ${basedir} is deprecated and you should use
${project.basedir}.

/Anders



<!-- 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
+==============================+


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to