The JBoss-Retro Plugin transforms compiled byte code using javassist. By default no transformation will take place, so a basic configuration normally includes a weaverClass. This weaver class is a subclass of org.jboss.weaver.Weaver from the jboss-retro project.
For example, a jdk1.5 to jdk1.4 translator is included in jboss-retro, and can be used with the following configuration.
<plugin>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-jboss-retro-plugin</artifactId>
<configuration>
<weaverClass>org.jboss.weaver.retro.WeaverRetroJdk14</weaverClass>
</configuration>
<executions>
<execution>
<id>weave-classes</id>
<goals>
<goal>weave</goal>
</goals>
</execution>
</executions>
</plugin>
This will output the transformed classes into the directory target/classes-weaved
The jboss-retro Plugin also includes goals for weaving the test classes, and for performing a validation check on the weaved code. Note: the [retro-check] goal is only useful when using the jdk1.5 to jdk1.4 transformation.
<plugin>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-jboss-retro-plugin</artifactId>
<configuration>
<weaveClassifier>jdk14</weaveClassifier>
<weaverClass>org.jboss.weaver.retro.WeaverRetroJdk14</weaverClass>
</configuration>
<executions>
<execution>
<id>weave-classes</id>
<goals>
<goal>weave</goal>
</goals>
</execution>
<execution>
<id>weave-test-classes</id>
<goals>
<goal>weave-tests</goal>
</goals>
</execution>
<execution>
<id>check-weave</id>
<goals>
<goal>retro-check</goal>
</goals>
<configuration>
<checkDirectory>classes-jdk14</checkDirectory>
<jvm>${java14_home}/bin/${javaExecutable}</jvm>
</configuration>
</execution>
<execution>
<id>check-weave-tests</id>
<goals>
<goal>retro-check</goal>
</goals>
<configuration>
<checkDirectory>test-classes-jdk14</checkDirectory>
<jvm>${java14_home}/bin/${javaExecutable}</jvm>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</plugin>