You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2012/07/19 16:54:05 UTC

svn commit: r1363358 - in /qpid/trunk/qpid/java: build.xml common.xml module.xml

Author: kwall
Date: Thu Jul 19 14:54:04 2012
New Revision: 1363358

URL: http://svn.apache.org/viewvc?rev=1363358&view=rev
Log:
QPID-4152 : Refactor coverage targets in Java build system.

Modified:
    qpid/trunk/qpid/java/build.xml
    qpid/trunk/qpid/java/common.xml
    qpid/trunk/qpid/java/module.xml

Modified: qpid/trunk/qpid/java/build.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/build.xml?rev=1363358&r1=1363357&r2=1363358&view=diff
==============================================================================
--- qpid/trunk/qpid/java/build.xml (original)
+++ qpid/trunk/qpid/java/build.xml Thu Jul 19 14:54:04 2012
@@ -46,6 +46,9 @@
 
   <property name="resources"     value="${project.root}/resources"/>
 
+  <!-- Modules for which coverage will be created by the cover-test target -->
+  <property name="coverage.modules" value="${modules}"/>
+
   <map property="release.excludes" value="${modules}">
     <globmapper from="*" to="*/\*\*"/>
   </map>
@@ -217,33 +220,39 @@
   </target>
 
   <target name="coverage-report" description="generate coverage report" depends="cobertura-init">
-    <cobertura-merge datafile="${build.coveragereport}/cobertura.ser">
+    <mkdir dir="${build.coverage.report}" />
+    <mkdir dir="${build.coverage.src}" />
+
+    <cobertura-merge datafile="${build.coverage.report}/cobertura.ser">
       <!-- merge all module coverage reports -->
       <fileset dir="${build}">
         <include name="**/*.ser"/>
       </fileset>
     </cobertura-merge>
+
+    <!-- Copy all covered sources to single directory for cobertura report -->
+
+    <foreach property="module" list="${coverage.modules}">
+
+      <copy todir="${build.coverage.src}">
+        <fileset dir="${module}/src/main/java" includes="**/*.java"/>
+      </copy>
+
+      <copy todir="${build.coverage.src}">
+        <fileset dir="build/scratch/${module}/src" includes="**/*.java"/>
+      </copy>
+    </foreach>
+
     <cobertura-report format="xml"
-                      destdir="${build.coveragereport}"
-		      datafile="${build.coveragereport}/cobertura.ser"
-		      >
-      <fileset dir="${project.root}/common/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/common/src" includes="**/*.java" />
-      <fileset dir="${project.root}/broker/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/broker/src" includes="**/*.java" />
-      <fileset dir="${project.root}/client/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/client/src" includes="**/*.java" />
+                      destdir="${build.coverage.report}"
+		      datafile="${build.coverage.report}/cobertura.ser">
+      <fileset dir="${build.coverage.src}" includes="**/*.java" />
     </cobertura-report>
-	<cobertura-report format="html"
-                      destdir="${build.coveragereport}"
-		      datafile="${build.coveragereport}/cobertura.ser"
-		      >
-      <fileset dir="${project.root}/common/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/common/src" includes="**/*.java" />
-      <fileset dir="${project.root}/broker/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/broker/src" includes="**/*.java" />
-      <fileset dir="${project.root}/client/src/main/java" includes="**/*.java" />
-      <fileset dir="${project.root}/build/scratch/client/src" includes="**/*.java" />
+
+    <cobertura-report format="html"
+                      destdir="${build.coverage.report}"
+		      datafile="${build.coverage.report}/cobertura.ser">
+      <fileset dir="${build.coverage.src}" includes="**/*.java" />
     </cobertura-report>
   </target>
 
@@ -252,7 +261,7 @@
   </target>
 
   <target name="cover-test" description="run tests and generate coverage information" depends="build">
-    <iterate target="cover-test" modules="broker client common"/>
+    <iterate target="cover-test" modules="${coverage.modules}"/>
   </target>
 
   <target name="test-interop" depends="build,compile-tests"

Modified: qpid/trunk/qpid/java/common.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common.xml?rev=1363358&r1=1363357&r2=1363358&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common.xml (original)
+++ qpid/trunk/qpid/java/common.xml Thu Jul 19 14:54:04 2012
@@ -43,7 +43,8 @@
   <property name="build.release"         location="${build}/release"/>
   <property name="build.release.prepare" location="${build.release}/prepare"/>
   <property name="build.plugins"         location="${build}/lib/plugins"/>
-  <property name="build.coveragereport"  location="${build}/coverage"/>
+  <property name="build.coverage.report" location="${build}/coverage/report"/>
+  <property name="build.coverage.src"    location="${build}/coverage/src"/>
   <property name="build.findbugs"        location="${build}/findbugs"/>
 
   <property name="java.target"           value="1.5"/>

Modified: qpid/trunk/qpid/java/module.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/module.xml?rev=1363358&r1=1363357&r2=1363358&view=diff
==============================================================================
--- qpid/trunk/qpid/java/module.xml (original)
+++ qpid/trunk/qpid/java/module.xml Thu Jul 19 14:54:04 2012
@@ -328,8 +328,42 @@
          <contains substring="${module.name}" string="${exclude.modules}" />
   </condition>
 
+  <!-- JVM args pass to forked Junit JVM -->
   <property name="jvm.args" value=""/>
+  <!-- Following properties are used by the tests -->
+  <property name="test.output" value="${module.results}"/>
+  <property name="QPID_HOME" value="${qpid.home}"/>
+  <property name="QPID_WORK" value="${qpid.work}"/>
   <property name="broker.existing.qpid.work" value=""/>
+  <!-- Used by PluginTest -->
+  <property name="example.plugin.target" value="${project.root}/build/lib/plugins"/>
+
+  <propertyset id="all.test.systemproperties">
+    <propertyref prefix="test"/>
+    <propertyref prefix="profile"/>
+    <propertyref prefix="javax.net.ssl"/>
+    <propertyref prefix="broker"/>
+
+    <propertyref name="amqj.logging.level"/>
+    <propertyref name="amqj.server.logging.level"/>
+    <propertyref name="amqj.protocol.logging.level"/>
+
+    <propertyref name="log4j.debug"/>
+    <propertyref name="log4j.configuration"/>
+
+    <propertyref name="root.logging.level"/>
+    <propertyref name="java.naming.factory.initial"/>
+    <propertyref name="java.naming.provider.url"/>
+    <propertyref name="messagestore.class.name" />
+    <propertyref name="qpid.amqp.version"/>
+    <propertyref name="max_prefetch"/>
+    <propertyref name="qpid.dest_syntax"/>
+
+    <propertyref name="test.output"/>
+    <propertyref name="QPID_HOME"/>
+    <propertyref name="QPID_WORK"/>
+    <propertyref name="example.plugin.target"/>
+  </propertyset>
 
   <target name="test" depends="build,compile-tests" if="module.test.src.exists"
          unless="${dontruntest}" description="execute unit tests">
@@ -344,38 +378,7 @@
 
       <jvmarg line="${jvm.args}" />
 
-      <sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/>
-      <sysproperty key="amqj.server.logging.level" value="${amqj.server.logging.level}"/>
-      <sysproperty key="amqj.protocol.logging.level" value="${amqj.protocol.logging.level}"/>
-      <sysproperty key="log4j.debug" value="${log4j.debug}"/>
-      <sysproperty key="root.logging.level" value="${root.logging.level}"/>
-      <sysproperty key="log4j.configuration" value="${log4j.configuration}"/>
-      <sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/>
-      <sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/>
-      <sysproperty key="messagestore.class.name" value="${messagestore.class.name}" />
-      <sysproperty key="test.output" value="${module.results}"/>
-      <sysproperty key="qpid.amqp.version" value="${qpid.amqp.version}"/>
-
-      <syspropertyset>
-        <propertyref prefix="test"/>
-      </syspropertyset>
-      <syspropertyset>
-        <propertyref prefix="profile"/>
-      </syspropertyset>
-      <syspropertyset>
-        <propertyref prefix="javax.net.ssl"/>
-      </syspropertyset>  
-      <syspropertyset>
-         <propertyref prefix="broker"/>
-      </syspropertyset>
-      
-      <sysproperty key="max_prefetch" value ="${max_prefetch}"/>
-      <sysproperty key="qpid.dest_syntax" value ="${qpid.dest_syntax}"/>
-
-      <sysproperty key="example.plugin.target" value="${project.root}/build/lib/plugins"/>
-      <sysproperty key="QPID_EXAMPLE_HOME" value="${qpid.home}"/>
-      <sysproperty key="QPID_HOME" value="${qpid.home}"/>
-      <sysproperty key="QPID_WORK" value="${qpid.work}"/>
+      <syspropertyset refid="all.test.systemproperties"/>
 
       <formatter type="plain"/>
       <formatter type="xml"/>
@@ -677,39 +680,17 @@
 
   <target name="cover-test" depends="instrument">
 
-    <mkdir dir="${build.coveragereport}" />
     <junit fork="yes" forkmode="once" maxmemory="${test.mem}" reloading="no"
            haltonfailure="${haltonfailure}" haltonerror="${haltonerror}"
            failureproperty="test.failures" printsummary="on" timeout="600000"
            dir="${project.root}" >
+      <jvmarg line="${jvm.args}" />
 
-      <sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/>
-      <sysproperty key="amqj.protocol.logging.level" value="${amqj.protocol.logging.level}"/>
-      <sysproperty key="log4j.debug" value="${log4j.debug}"/>
-      <sysproperty key="root.logging.level" value="${root.logging.level}"/>
-      <sysproperty key="log4j.configuration" value="${log4j.configuration}"/>
-      <sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/>
-      <sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/>
-      <sysproperty key="broker" value="${broker}"/>
-      <sysproperty key="broker.version" value="${broker.version}"/>
-      <sysproperty key="broker.ready" value="${broker.ready}" />
-      <sysproperty key="test.output" value="${module.results}"/>
-
-      <syspropertyset>
-        <propertyref prefix="test"/>
-      </syspropertyset>
-      <syspropertyset>
-          <propertyref prefix="broker"/>
-      </syspropertyset>
-
-      <sysproperty key="max_prefetch" value ="${max_prefetch}"/>
-      <sysproperty key="example.plugin.target" value="${project.root}/build/lib/plugins"/>
-      <sysproperty key="QPID_EXAMPLE_HOME" value="${project.root}/build"/>
-      <sysproperty key="QPID_HOME" value="${project.root}/build"/>
+      <syspropertyset refid="all.test.systemproperties"/>
 
       <sysproperty key="net.sourceforge.cobertura.datafile"
 		file="${cobertura.datafile}" />
-      
+
       <formatter type="plain"/>
       <formatter type="xml"/>
 
@@ -731,14 +712,13 @@
   </target>
 
   <target name="coverage-report" depends="cobertura-init">
-      <echo message="${cobertura.datafile}"/>
       <cobertura-report format="html"
                       destdir="${module.coverage}"
 		      datafile="${cobertura.datafile}">
       <fileset dir="${module.src}" includes="**/*.java" />
     </cobertura-report>
   </target>
-  
+
   <property name="version.file" location="${module.classes}/qpidversion.properties"/>
   <property file="${version.file}" prefix="old."/>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org