Author: nickboldt
Date: 2010-05-21 21:22:11 -0400 (Fri, 21 May 2010)
New Revision: 22255
Modified:
trunk/build/build.xml
Log:
add collect.test.results.for.hudson target so we can call this AFTER a pure maven build to
just collect tests
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2010-05-21 23:38:12 UTC (rev 22254)
+++ trunk/build/build.xml 2010-05-22 01:22:11 UTC (rev 22255)
@@ -516,14 +516,7 @@
<echo level="warning">All components up to date: nothing to do!
To force a build of unchanged components, use
-Dbuild.if.sources.unchanged=true</echo>
- <!-- create fake test result file to avoid Hudson failure -->
- <delete dir="${basedir}/surefire-reports/NoTestsRun"
includeemptydirs="true" />
- <mkdir dir="${basedir}/surefire-reports/NoTestsRun" />
- <echo
file="${basedir}/surefire-reports/NoTestsRun/TEST-org.jboss.tools.NoTestsRun.xml"><?xml
version="1.0" encoding="UTF-8" ?>
-<testsuite failures="0" time="0.001" errors="0"
skipped="0" tests="1"
name="org.jboss.tools.NoTestsRun">
- <testcase time="0.001"
classname="org.jboss.tools.NoTestsRun" name="NoTestsRun"/>
-</testsuite>
-</echo>
+ <antcall target="create.empty.test.results.file" />
<property name="no.tests.run" value="true" />
<property name="no.overall" value="true" />
</then>
@@ -551,6 +544,45 @@
</if>
</target>
+ <target name="collect.test.results.for.hudson" description="collect
test results after a pure maven build so Hudson has something to see">
+ <var name="tests.results.found" value="false" />
+ <for param="test.dir">
+ <path>
+ <dirset dir="${WORKINGDIR}"
+ includes="**/target/surefire-reports/TEST-*.xml"
+ excludes="**/*NoTestsRun.xml"
+ />
+ </path>
+ <sequential>
+ <var name="tests.results.found" value="true" />
+ </sequential>
+ </for>
+ <if>
+ <equals arg1="${tests.results.found}" arg2="false" />
+ <then>
+ <antcall target="create.empty.test.results.file" />
+ <property name="no.tests.run" value="true" />
+ </then>
+ <else>
+ <antcall target="collect.test.results">
+ <param name="COMPONENT" value="." />
+ </antcall>
+ <antcall target="collect.all.test.results"/>
+ </else>
+ </if>
+ </target>
+
+ <target name="create.empty.test.results.file">
+ <!-- create fake test result file to avoid Hudson failure -->
+ <delete dir="${basedir}/surefire-reports/NoTestsRun"
includeemptydirs="true" />
+ <mkdir dir="${basedir}/surefire-reports/NoTestsRun" />
+ <echo
file="${basedir}/surefire-reports/NoTestsRun/TEST-org.jboss.tools.NoTestsRun.xml"><?xml
version="1.0" encoding="UTF-8" ?>
+<testsuite failures="0" time="0.001" errors="0"
skipped="0" tests="1"
name="org.jboss.tools.NoTestsRun">
+<testcase time="0.001" classname="org.jboss.tools.NoTestsRun"
name="NoTestsRun"/>
+</testsuite>
+</echo>
+ </target>
+
<target name="run.build">
<!-- could set -Dmaven.test.skip to skip tests, or use osgi-test:test to just
(re-)run tests w/o first building -->
<property name="MAVEN_FLAGS" value="clean install -B -fn -q -U
-e" />
@@ -742,7 +774,7 @@
preservelastmodified="true"
overwrite="true"
- <fileset dir="${WORKINGDIR}/${COMPONENT}"
includes="**/target/surefire-reports/*.xml" />
+ <fileset dir="${WORKINGDIR}/${COMPONENT}"
includes="**/target/surefire-reports/TEST-*.xml" />
</copy>
</target>
@@ -754,10 +786,7 @@
<for param="testresultfile" delimiter=",
">
<path>
- <fileset dir="${basedir}/surefire-reports/"
- includes="**/TEST-*.xml"
- excludes="**/*pom.xml, **/build.xml"
- />
+ <fileset dir="${basedir}/surefire-reports/"
includes="**/TEST-*.xml" />
</path>
<sequential>
<var name="testsuite.name" unset="true" />
@@ -918,7 +947,7 @@
/>
</sequential>
</for>
-
+
<for param="updateZip">
<path>
<fileset dir="${WORKINGDIR}/@{COMPONENT}"
includes="**/JBossTools*Update*.zip" />
@@ -1194,10 +1223,26 @@
</echo>
<mkdir dir="${updateSiteJarDir}/../features" />
+ <if>
+ <!-- special case: for tests component, we WANT test features; for everyone else,
test features shouldn't be on the site -->
+ <equals arg1="${COMPONENT}" arg2="tests" />
+ <then>
+ <path id="featureJars">
+ <fileset dir="${updateSiteJarDir}/../features"
includes="**/target/*.jar" />
+ </path>
+ </then>
+ <else>
+ <path id="featureJars">
+ <fileset dir="${updateSiteJarDir}/../features"
+ includes="**/target/*.jar"
+ excludes="**/*test*"
+ id=""
+ />
+ </path>
+ </else>
+ </if>
<for param="featureJar">
- <path>
- <fileset dir="${updateSiteJarDir}/../features"
includes="**/target/*.jar" excludes="**/*test*" />
- </path>
+ <path refid="featureJars" />
<sequential>
<var name="feature.jarfile" unset="true" />
<var name="feature.id" unset="true" />