We use emma as well and would be very interested in an m2 plugin for it.

I had some success by running emma through m2 as an ant-plugin, here is the
config :

     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-antrun-plugin</artifactId>
       <executions>
         <execution>
           <id>emma-coverage-report</id>
           <phase>test-compile</phase>
           <configuration>
             <tasks>
               <taskdef resource="emma_ant.properties" classpathref="
maven.plugin.classpath" />
               <emma enabled="true">
                 <instr instrpathref="maven.test.classpath"
mode="overwrite"
                        metadatafile="target/emma/metadata.emma">
                   <filter includes="com.*"/>
                 </instr>
               </emma>
                             <junit fork="yes" forkmode="perBatch"
haltonfailure="no">
                                 <batchtest
todir="target/emma/junit-reports-ignore">
                                   <fileset
dir="target/emma/instrumented-classes">
                                     <include name="**/*Test*"/>
                                   </fileset>
                                 </batchtest>
                               <classpath>
                                 <pathelement path="maven.test.classpath"/>
                                 <pathelement path="maven.plugin.classpath
"/>
                               </classpath>
                             </junit>
             </tasks>
           </configuration>
           <goals>
             <goal>run</goal>
           </goals>
         </execution>
       </executions>
       <dependencies>
               <dependency>
                 <groupId>emma</groupId>
                 <artifactId>emma</artifactId>
                 <version>2.0.5312</version>
               </dependency>
               <dependency>
                 <groupId>emma</groupId>
                 <artifactId>emma_ant</artifactId>
                 <version>2.0.5312</version>
               </dependency>
       </dependencies>
     </plugin>

IIRC the instrumentation like this works fine, but I had problems getting
surefire to actually run the instrumented classes.

HTH
Jorg

Reply via email to