The jour-maven-plugin is maven2 plugin to apply bytecode instrumentation during build.
Additional goals jour:signatureVerify and jour:generate allows validation and creation of classes base on API descriptor XML.
Replace project classes with instrumented one.
<project> ... <build> <plugins> <plugin> <groupId>net.sf.jour</groupId> <artifactId>jour-maven-plugin</artifactId> <version>2.0.3</version> <executions> <execution> <phase>process-classes</phase> <goals> <goal>instrument</goal> </goals> <configuration> <output>classes</output> <jourConfig>${basedir}/process-classes.jour.xml</jourConfig> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Replace project test-classes with instrumented one. Instrumentor class taken from plugin dependencies.
<plugin> <groupId>net.sf.jour</groupId> <artifactId>jour-maven-plugin</artifactId> <version>2.0.3</version> <executions> <execution> <phase>test-compile</phase> <goals> <goal>instrument</goal> </goals> <configuration> <jourConfig>${basedir}/process-test-classes.jour.xml</jourConfig> <classesDirectory>${project.build.testOutputDirectory}</classesDirectory> <output>test-classes</output> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>com.pyx4me</groupId> <artifactId>cldcunit-instrument</artifactId> <version>2.0.2</version> </dependency> </dependencies> </plugin>