[jboss-svn-commits] JBL Code SVN: r30970 - in labs/jbosstm/trunk: antbuildsystem and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 7 10:07:00 EST 2010


Author: jhalliday
Date: 2010-01-07 10:06:59 -0500 (Thu, 07 Jan 2010)
New Revision: 30970

Added:
   labs/jbosstm/trunk/ext/emma.jar
   labs/jbosstm/trunk/ext/emma_ant.jar
Modified:
   labs/jbosstm/trunk/antbuildsystem/build.xml
   labs/jbosstm/trunk/common/build.xml
   labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java
   labs/jbosstm/trunk/ext/Readme
   labs/jbosstm/trunk/sharedbuild.xml
Log:
Add emma code coverage tool to the build scripts. JBTM-682


Modified: labs/jbosstm/trunk/antbuildsystem/build.xml
===================================================================
--- labs/jbosstm/trunk/antbuildsystem/build.xml	2010-01-07 14:28:13 UTC (rev 30969)
+++ labs/jbosstm/trunk/antbuildsystem/build.xml	2010-01-07 15:06:59 UTC (rev 30970)
@@ -22,6 +22,8 @@
 
     <property name="modulename" value="buildsystem"/>
 
+    <property name="emma.enabled" value="false"/>
+
     <import file="../sharedbuild.xml"/>
 
     <target name="compile" depends="init">

Modified: labs/jbosstm/trunk/common/build.xml
===================================================================
--- labs/jbosstm/trunk/common/build.xml	2010-01-07 14:28:13 UTC (rev 30969)
+++ labs/jbosstm/trunk/common/build.xml	2010-01-07 15:06:59 UTC (rev 30970)
@@ -81,6 +81,17 @@
             <tests><fileset dir="tests" includes="**/BeanPopulatorTest.java"/></tests>
         </run.tests.macro>
 
+        <emma enabled="${emma.enabled}">
+            <report>
+                <fileset dir="${build.dir}" >
+                    <include name="coverage.ec"/>
+                    <include name="metadata.emma"/>
+                </fileset>
+                <txt outfile="${build.dir}/emma/coverage.txt" />
+                <html outfile="${build.dir}/emma/coverage.html" />
+            </report>
+        </emma>
+
     </target>
 
 </project>
\ No newline at end of file

Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java	2010-01-07 14:28:13 UTC (rev 30969)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java	2010-01-07 15:06:59 UTC (rev 30970)
@@ -100,7 +100,12 @@
             Class type = field.getType();
 
             String setterMethodName = "set"+capitalizeFirstLetter(field.getName());
-            Method setter = bean.getClass().getMethod(setterMethodName, new Class[] {field.getType()});
+            Method setter;
+            try {
+                setter = bean.getClass().getMethod(setterMethodName, new Class[] {field.getType()});
+            } catch(NoSuchMethodException e) {
+                continue; // emma code coverage tool adds fields to instrumented classes - ignore them.
+            }
 
             String getterMethodName;
             Method getter = null;

Modified: labs/jbosstm/trunk/ext/Readme
===================================================================
--- labs/jbosstm/trunk/ext/Readme	2010-01-07 14:28:13 UTC (rev 30969)
+++ labs/jbosstm/trunk/ext/Readme	2010-01-07 15:06:59 UTC (rev 30970)
@@ -35,3 +35,4 @@
 xercesImpl.jar		Xerces 2.3.0
 xmlParserAPIs.jar	Xerces 2.3.0
 byteman.jar		1.0.3.SNAPSHOT (12 August 2009)
+emma.jar, emma_ant.jar  emma code coverage tool 2.0.5312 license: http://www.eclipse.org/legal/cpl-v10.html
\ No newline at end of file

Added: labs/jbosstm/trunk/ext/emma.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/trunk/ext/emma.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/trunk/ext/emma_ant.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/trunk/ext/emma_ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jbosstm/trunk/sharedbuild.xml
===================================================================
--- labs/jbosstm/trunk/sharedbuild.xml	2010-01-07 14:28:13 UTC (rev 30969)
+++ labs/jbosstm/trunk/sharedbuild.xml	2010-01-07 15:06:59 UTC (rev 30970)
@@ -24,6 +24,9 @@
 
     <!-- ############################# -->
 
+    <!-- remember to turn emma off for prdn builds or it will be a runtime dep! -->
+    <property name="emma.enabled" value="false"/>
+
     <property name="debug" value="true"/>
     <property name="deprecation" value="true"/>
 
@@ -60,7 +63,17 @@
         </classpath>
     </taskdef>
 
+    <!-- directory that contains emma.jar and emma_ant.jar: -->
+    <property name="emma.dir" value="${global.ext.lib.dir}" />
 
+    <path id="emma.lib" >
+        <pathelement location="${emma.dir}/emma.jar" />
+        <pathelement location="${emma.dir}/emma_ant.jar" />
+    </path>
+
+    <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
+
+
     <target name="clean">
         <delete dir="${build.dir}"/>
 
@@ -105,6 +118,16 @@
             <additional.src.dirs/>
         </javac>
 
+        <emma enabled="${emma.enabled}">
+            <instr mode="overwrite"
+                   metadatafile="${build.dir}/metadata.emma"
+                   merge="true">
+                <instrpath>
+                    <pathelement location="${build.dir}/classes"/>
+                </instrpath>
+            </instr>
+        </emma>
+
         <copy
             file="${etc.dir}/${mappingfile}"
             tofile="${build.dir}/classes/${mappingfile}"
@@ -121,6 +144,8 @@
             </manifest>
         </jar>
 
+
+
         </sequential>
    </macrodef>
 
@@ -254,7 +279,7 @@
             </then>
         </if>
 
-        <!-- note: build-release-pkgs.xml overrides this property when approptiate: -->
+        <!-- note: build-release-pkgs.xml overrides this property when appropriate: -->
         <property name="com.hp.mw.sourceid" value="unknown"/>
         <tstamp>
             <format property="buildproperty.date" pattern="yyyy/MMM/dd HH:mm"/>
@@ -473,6 +498,7 @@
                 <fileset dir="${global.ext.lib.dir}" includes="${global.ext.test.libs}"/>
                 <fileset dir="${global.ext.lib.dir}" includes="commons-logging-1.1.jar,log4j*"/>
                 <additional.classpath.aux/>
+                <path refid="emma.lib" />
             </classpath>
 
             <batchtest haltonerror="yes" haltonfailure="yes" fork="yes" todir="${build.dir}/testresults">



More information about the jboss-svn-commits mailing list