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