diff sonar-ant.xml @ 28:ad0a75e20f7b

TL-34: Allow sonar to publish failing tests (ant 1.8.1+)
author smith@nwoca.org
date Mon, 11 Apr 2011 16:32:20 -0400
parents ea29594bb799
children bedf62f3916d
line wrap: on
line diff
--- a/sonar-ant.xml	Sun Apr 10 21:42:19 2011 -0400
+++ b/sonar-ant.xml	Mon Apr 11 16:32:20 2011 -0400
@@ -12,6 +12,18 @@
                         src="${ssdt.sonar.jar.src}"/>
     <ssdt:import-ant    file="jacoco-ant.xml"/>
 
+    <ssdt:add-dependency target="init" depends="-sonar-init"/>
+
+    <target name="-sonar-init">
+        <echo message="Sonar: Active"/>
+        <echoproperties prefix="ant"/>
+        <if>
+            <contains string="${ant.project.invoked-targets}" substring="sonar"/>
+            <then> <property name="ignore.failing.tests" value="true"/> </then>
+        </if>
+        <property name="sonar.active" value="true"/>
+    </target>
+
     <target name="-check-sonar">
         <property file="${ssdt.devel.kit}/sonar.properties"/>
         <property name="sonar.host.url" value="http://ssdt-web-10.nwoca.org:9000" />
@@ -20,6 +32,7 @@
     </target>
 
     <target name="sonar" depends="project.init,-check-sonar,ivy-info,coverage.xml" if="sonar.enabled">
+        <fail unless="sonar.active" message="Sonar has not been initialized"/>
         <sonar:sonar
             workDir="${build.dir}/sonar"
             key="${ivy.project.organisation}:${ivy.project.module}"
@@ -38,8 +51,9 @@
             </tests>
             <binaries>
                 <path location="${build.dir}/classes" />
-            </binaries>      
-      </sonar:sonar>
+            </binaries>
+        </sonar:sonar>
+        <fail if="tests.failed">Some tests failed; see details above. (sonar)</fail>
     </target>
 
 </project>