jour-maven-plugin

Overview

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.

jour:instrument parameters

jour:instrument parameters

Usage

Replace project classes with instrumented one.

<project>
    ...
    <build>
        <plugins>

            <plugin>
                <groupId>net.sf.jour</groupId>
                <artifactId>jour-maven-plugin</artifactId>
                <version>2.0.4-SNAPSHOT</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.4-SNAPSHOT</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>