harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From smish...@apache.org
Subject svn commit: r482925 - in /harmony/enhanced/buildtest/trunk: README.txt build.xml config/config-full.xml config/copyres.xml config/xsl/ config/xsl/br.xsl config/xsl/errors.xsl config/xsl/header.xsl config/xsl/modifications.xsl config/xsl/unittests.xsl
Date Wed, 06 Dec 2006 06:49:39 GMT
Author: smishura
Date: Tue Dec  5 22:49:38 2006
New Revision: 482925

URL: http://svn.apache.org/viewvc?view=rev&rev=482925
Log:
Apply patch for HARMONY-2378 ([buildtest][cc-update] update of current cnfiguration for cruise control)

Tested on Linux

Added:
    harmony/enhanced/buildtest/trunk/config/xsl/
    harmony/enhanced/buildtest/trunk/config/xsl/br.xsl   (with props)
    harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl   (with props)
    harmony/enhanced/buildtest/trunk/config/xsl/header.xsl   (with props)
    harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl   (with props)
    harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl   (with props)
Modified:
    harmony/enhanced/buildtest/trunk/README.txt
    harmony/enhanced/buildtest/trunk/build.xml
    harmony/enhanced/buildtest/trunk/config/config-full.xml
    harmony/enhanced/buildtest/trunk/config/copyres.xml

Modified: harmony/enhanced/buildtest/trunk/README.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/README.txt?view=diff&rev=482925&r1=482924&r2=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/README.txt (original)
+++ harmony/enhanced/buildtest/trunk/README.txt Tue Dec  5 22:49:38 2006
@@ -70,25 +70,7 @@
 
 FAQ
 ---
-1) Q.: The classlib project build/ test runs failed with the message like:
-"No supported regular expression matcher found". Why?
-   A.: Update cruisecontrol.bat (or cruisecontrol.sh) file to add the 
-ant-apache-regexp.jar archives from ant/lib directory to the 'CRUISE_PATH'.
-
-2) Q.: The classes can't be compiled under CC. Why?
-   A.: Usually, no compiler available in the class path. Please, add the 
-ecj_3.2.jar archive to the 'CRUISE_PATH' variable.
-
-3) Q.: The test runs OK, but no passed/ failed information available. Why?
+1) Q.: The test runs OK, but no passed/ failed information available. Why?
    A.: This script was tested and works over the sun jdk only. If you run
 it over the BEA jdk it will fail.
-
-4) Q.: The results of CC are not emailed. Why?
-   A.: uncomment the string "REM set CC_OPTS=-Xms128m -Xmx256m" and update
-it as "set CC_OPTS=-Xms128m -Xmx600m"
-
-5) Q.: The size of emailed notification is too big. How it can be reduced?
-   A.: To reduce the emailed notification size please commented out the string
-69-77 in the file <root>/cc/webapps/cruisecontrol/xsl/errors.xsl. In this case
-the email will not include warning messages (actually we have a lot of them).
 

Modified: harmony/enhanced/buildtest/trunk/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/build.xml?view=diff&rev=482925&r1=482924&r2=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/build.xml (original)
+++ harmony/enhanced/buildtest/trunk/build.xml Tue Dec  5 22:49:38 2006
@@ -134,9 +134,16 @@
                 <delete dir="${cc.filename}" includeEmptyDirs="true" verbose="false"/>
 		
 		<!-- copy the ant-junit jar to cc/lib -->
-	
 		<copy file="${junitjar.filename}.jar" todir="${target.dir}/lib"/>
-		
+
+		<copy todir="${target.dir}" flatten="yes">
+			<fileset dir="config/xsl" />
+		</copy>
+
+		<!--ovwrwrite the ant and launcher jar's in {target.dir}/lib -->
+		<copy file="${target.dir}/apache-ant-1.6.5/lib/ant.jar" todir="${target.dir}/lib" overwrite="yes" failonerror="false"/>
+		<copy file="${target.dir}/apache-ant-1.6.5/lib/ant-launcher.jar" todir="${target.dir}/lib" overwrite="yes" failonerror="false"/>
+
 		<!-- copy the config we want to use, and make target dirs for the checkouts -->
 		<copy file="config/config-full.xml" tofile="${target.dir}/config.xml" />
 		<copy file="config/copyres.xml" tofile="${target.dir}/copyres.xml" />
@@ -197,11 +204,16 @@
 cmd=build.bat
 cc=msvc
 </echo>
+		<replace file="${target.dir}/cruisecontrol.bat" 
+			token="REM set CC_OPTS=-Xms128m -Xmx256m"
+			value="set CC_OPTS=-Xmx500m"/>
+		<replace file="${target.dir}/cruisecontrol.bat" token="%LIBDIR%\ant.jar">
+			<replacevalue><![CDATA[%LIBDIR%\ant.jar
+set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-apache-regexp.jar
+set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ecj_3.2.jar
+]]></replacevalue></replace>
 		<exec executable="cmd" dir="${target.dir}/projects/drlvm/trunk/build" >
-			<arg line="/c build.bat ${vm.proxy.h} ${vm.proxy.p} update" />
-		</exec>
-		<exec executable="cmd" dir="${target.dir}/projects/drlvm/trunk/build" >
-			<arg line="/c build.bat ${vm.proxy.h} ${vm.proxy.p}" />
+			<arg line="/c build.bat ${vm.proxy.h} ${vm.proxy.p} -Dexternal.dep.CLASSLIB.loc=${target.dir}/projects/classlib/trunk update clean build" />
 		</exec>
 	</target>
 		
@@ -213,11 +225,14 @@
 cmd=build.sh
 cc=gcc
 </echo>
+		<replace file="${target.dir}/cruisecontrol.sh" 
+			token='# CC_OPTS="-Xms128m -Xmx256m"'
+			value='CC_OPTS="-Xmx500m"'/>
+		<replace file="${target.dir}/cruisecontrol.sh" 
+			token="$LIBDIR/ant.jar" 
+			value="$LIBDIR/ant.jar:$ANT_HOME/lib/ant-apache-regexp.jar:$ANT_HOME/lib/ecj_3.2.jar"/>
 		<exec executable="sh" dir="${target.dir}/projects/drlvm/trunk/build">
-			<arg line="build.sh ${vm.proxy.h} ${vm.proxy.p} update"/>
-		</exec>
-		<exec executable="sh" dir="${target.dir}/projects/drlvm/trunk/build">
-			<arg line="build.sh ${vm.proxy.h} ${vm.proxy.p}"/>
+			<arg line="build.sh ${vm.proxy.h} ${vm.proxy.p} -Dexternal.dep.CLASSLIB.loc=${target.dir}/projects/classlib/trunk update clean build"/>
 		</exec>
 	</target>
 	<target name="process-drlvm" depends="drlvm-win,drlvm-other">

Modified: harmony/enhanced/buildtest/trunk/config/config-full.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/config-full.xml?view=diff&rev=482925&r1=482924&r2=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/config-full.xml (original)
+++ harmony/enhanced/buildtest/trunk/config/config-full.xml Tue Dec  5 22:49:38 2006
@@ -1,10 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
 <cruisecontrol>
-
+        
     <!--The cc.property file contains the name and values of properties-->
     <property file="cc.properties" />
-    <property name="cl.prefix" value="[continuum] ${os} ${cc}: classlib"/>
-    <property name="vm.prefix" value="[continuum] ${os} ${cc}: drlvm"/>
+    <property name="cl.prefix" value="[build-test alert] BUILD FAILED ${os} ${cc} debug: classlib "/>
+    <property name="vm.prefix" value="[build-test alert] BUILD FAILED ${os} ${cc} debug: drlvm"/>
+    <property name="cl.prefix.ok" value="[build-test alert] BUILD FIXED ${os} ${cc} debug: classlib "/>
+    <property name="vm.prefix.ok" value="[build-test alert] BUILD FIXED ${os} ${cc} debug: drlvm"/>
 
 
     <project name="classlib">
@@ -15,49 +32,68 @@
 
         <bootstrappers>
             <svnbootstrapper localWorkingCopy="projects/classlib/trunk" />
+            <svnbootstrapper localWorkingCopy="projects/drlvm/trunk" />
         </bootstrappers>
 
         <modificationset quietperiod="60">
             <svn localWorkingCopy="projects/classlib/trunk"/>
-            <buildstatus logdir="logs/drlvm"/>
         </modificationset>
 
         <schedule interval="${timeout}">
-        	<ant target="fetch-depends rebuild test" antWorkingDir="projects/${project.name}/trunk" timeout="${ttimeout}" usedebug="false">
-        	    <property name="${proxy.host.property}" value="${proxy.value}"/>
-        	    <property name="${proxy.port.property}" value="${port.value}"/>
-        	    <jvmarg arg="-Dtest.jre.home=${wdir}/projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/deploy/jre" />
-        	    <jvmarg arg="-Dhy.test.forkmode=perTest" />
-        	    <jvmarg arg="-Xms200M" />
-        	    <jvmarg arg="-Xmx700M" />
-        	</ant>
+                <ant target="fetch-depends rebuild" antWorkingDir="projects/${project.name}/trunk" timeout="${ttimeout}" usedebug="false">
+                    <property name="${proxy.host.property}" value="${proxy.value}"/>
+                    <property name="${proxy.port.property}" value="${port.value}"/>
+                    <jvmarg arg="-Xms200M" />
+                    <jvmarg arg="-Xmx700M" />
+                </ant>
         </schedule>
 
         <log dir="logs/${project.name}">
             <merge dir="projects/${project.name}/trunk/build/test_report" pattern="TEST-*.xml" />
         </log>
 
-	<publishers>
+        <publishers>
             <antpublisher   
                  antworkingdir="."  
                  buildfile="copyres.xml"  
                  uselogger="true"  
                  usedebug="false"  
                  target="copy.res"> 
-                <property name="VM" value="drlvm"/> 
+                <property name="VM" value="ibm"/> 
             </antpublisher> 
-            <htmlemail mailhost="${server_addr}"
-                returnaddress="${report_from}"
-                subjectprefix="${cl.prefix}"
-                skipusers="true"
-                spamwhilebroken="false"
-                css="${cc_webcontent}/css/cruisecontrol.css"
-                xsldir="${cc_webcontent}/xsl"
-                logdir="logs/${project.name}">
-
-                <failure address="${report_to}" reportWhenFixed="true"/>
-            </htmlemail>
-	</publishers>
+            <onfailure>
+                <xsltlogpublisher directory="."  outfilename="classlib.txt"  xsltfile="br.xsl" />
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="true"  
+                     target="email.res"> 
+                     <property name="file" value="classlib.txt"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${cl.prefix}"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onfailure>
+            <onsuccess>
+                <xsltlogpublisher directory="."  outfilename="classlib.txt.ok"  xsltfile="br.xsl" />
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="true"  
+                     target="email.res.ok"> 
+                     <property name="file" value="classlib.txt.ok"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${cl.prefix.ok}"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onsuccess>
+        </publishers>
 
     </project>
 
@@ -67,32 +103,50 @@
             <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
         </listeners>
 
-        <bootstrappers>
-            <svnbootstrapper localWorkingCopy="projects/drlvm/trunk" />
-        </bootstrappers>
-
         <modificationset quietperiod="30">
             <svn localWorkingCopy="projects/drlvm/trunk"/>
+            <svn localWorkingCopy="projects/classlib/trunk"/>
             <buildstatus logdir="logs/classlib"/>
         </modificationset>
 
         <schedule interval="${timeout}">
-        	<exec command="${sh}" args="${cmd.prefix} ${cmd} -D${proxy.host.vm}=${proxy.value} -D${proxy.port.vm}=${port.value} update clean build" workingdir="projects/${project.name}/trunk/build" timeout="${ttimeout}"/>
+                <exec command="${sh}" args="${cmd.prefix} ${cmd} -D${proxy.host.vm}=${proxy.value} -D${proxy.port.vm}=${port.value} -Dexternal.dep.CLASSLIB.loc=${wdir}/projects/classlib/trunk update clean build" workingdir="projects/${project.name}/trunk/build" timeout="${ttimeout}"/>
         </schedule>
 
-	<publishers>
-            <htmlemail mailhost="${server_addr}"
-                returnaddress="${report_from}"
-                subjectprefix="${vm.prefix}"
-                skipusers="true"
-                spamwhilebroken="false"
-                css="${cc_webcontent}/css/cruisecontrol.css"
-                xsldir="${cc_webcontent}/xsl"
-                logdir="logs/${project.name}">
-
-                <failure address="${report_to}" reportWhenFixed="true"/>
-            </htmlemail>
-	</publishers>
+        <publishers>
+            <onfailure>
+                <xsltlogpublisher directory="." outfilename="drlvm.txt" xsltfile="br.xsl" />
+                <antpublisher   
+                    antworkingdir="."  
+                    buildfile="copyres.xml"  
+                    uselogger="true"  
+                    usedebug="false"  
+                    target="email.res"> 
+                    <property name="file" value="drlvm.txt"/> 
+                    <property name="mailhost" value="${server_addr}"/>
+                    <property name="fromaddress" value="${report_from}"/>
+                    <property name="toaddress" value="${report_to}"/>
+                    <property name="subject" value="${vm.prefix}"/>
+                    <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onfailure>
+            <onsuccess>
+                <xsltlogpublisher directory="." outfilename="drlvm.txt.ok" xsltfile="br.xsl" />
+                <antpublisher   
+                    antworkingdir="."  
+                    buildfile="copyres.xml"  
+                    uselogger="true"  
+                    usedebug="false"  
+                    target="email.res.ok"> 
+                    <property name="file" value="drlvm.txt.ok"/> 
+                    <property name="mailhost" value="${server_addr}"/>
+                    <property name="fromaddress" value="${report_from}"/>
+                    <property name="toaddress" value="${report_to}"/>
+                    <property name="subject" value="${vm.prefix.ok}"/>
+                    <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onsuccess>
+        </publishers>
 
     </project>
 
@@ -103,22 +157,21 @@
         </listeners>
 
         <modificationset>
+            <svn localWorkingCopy="projects/drlvm/trunk"/>
             <buildstatus logdir="logs/drlvm"/>
         </modificationset>
 
         <schedule interval="${timeout}">
-        	<exec command="${sh}" args="${cmd.prefix} ${cmd} -Dvm.assert_dialog=false test" workingdir="projects/drlvm/trunk/build" timeout="${ttimeout}" errorstr="FAILED" />
+                <exec command="${sh}" args="${cmd.prefix} ${cmd} -Dvm.assert_dialog=false -Dexternal.dep.CLASSLIB.loc=${wdir}/projects/classlib/trunk test" workingdir="projects/drlvm/trunk/build" timeout="${ttimeout}" errorstr="FAILED" />
         </schedule>
 
         <log dir="logs/${project.name}">
-            <!--merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/vm/_smoke.tests/reports" pattern="*.*"/>
-            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/vm/_cunit.tests/report" pattern="*.*"/-->
-            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/jitrino.jet" pattern="TEST-*.xml" />
-            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/jitrino.opt" pattern="TEST-*.xml" />
-            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/interpreter" pattern="TEST-*.xml" />
+            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/jet.mode" pattern="TEST-*.xml" />
+            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/opt.mode" pattern="TEST-*.xml" />
+            <merge dir="projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/semis/kernel.tests/reports/int.mode" pattern="TEST-*.xml" />
         </log>
 
-	<publishers>
+        <publishers>
             <antpublisher   
                  antworkingdir="."  
                  buildfile="copyres.xml"  
@@ -127,19 +180,116 @@
                  target="copy.vm.res"> 
                 <property name="BUILD" value="${os}_ia32_${cc}_debug"/> 
             </antpublisher> 
-            <htmlemail mailhost="${server_addr}"
-                returnaddress="${report_from}"
-                subjectprefix="${vm.prefix}"
-                skipusers="true"
-                spamwhilebroken="false"
-                css="${cc_webcontent}/css/cruisecontrol.css"
-                xsldir="${cc_webcontent}/xsl"
-                logdir="logs/${project.name}">
-
-                <failure address="${report_to}" reportWhenFixed="true"/>
-            </htmlemail>
-	</publishers>
+
+            <onfailure>
+                <xsltlogpublisher directory="." outfilename="drlvmt.txt" xsltfile="br.xsl" />
+
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="false"  
+                     target="email.res"> 
+                     <property name="file" value="drlvmt.txt"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${vm.prefix}"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onfailure>
+            <onsuccess>
+                <xsltlogpublisher directory="." outfilename="drlvmt.txt.ok" xsltfile="br.xsl" />
+
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="false"  
+                     target="email.res.ok"> 
+                     <property name="file" value="drlvmt.txt.ok"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${vm.prefix.ok}"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onsuccess>
+        </publishers>
 
     </project>
 
+    <project name="classlib-drlvm">
+
+        <listeners>
+            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+        </listeners>
+
+        <modificationset quietperiod="60">
+            <svn localWorkingCopy="projects/classlib/trunk"/>
+            <svn localWorkingCopy="projects/drlvm/trunk"/>
+            <buildstatus logdir="logs/classlib"/>
+            <buildstatus logdir="logs/drlvm"/>
+        </modificationset>
+
+        <schedule interval="${timeout}">
+                <ant target="test" antWorkingDir="projects/classlib/trunk" timeout="${ttimeout}" usedebug="false">
+                    <jvmarg arg="-Dtest.jre.home=${wdir}/projects/drlvm/trunk/build/${os}_ia32_${cc}_debug/deploy/jre" />
+                    <jvmarg arg="-Dhy.test.forkmode=perTest" />
+                    <jvmarg arg="-Dhy.test.vm.name=drl" />
+                    <jvmarg arg="-Xms200M" />
+                    <jvmarg arg="-Xmx700M" />
+                </ant>
+        </schedule>
+
+        <log dir="logs/${project.name}">
+            <merge dir="projects/${project.name}/trunk/build/test_report" pattern="TEST-*.xml" />
+        </log>
+
+        <publishers>
+            <antpublisher   
+                 antworkingdir="."  
+                 buildfile="copyres.xml"  
+                 uselogger="true"  
+                 usedebug="false"  
+                 target="copy.res"> 
+                <property name="VM" value="drlvm"/> 
+            </antpublisher> 
+            <onfailure>
+                <xsltlogpublisher directory="."  outfilename="classlibt.txt"  xsltfile="br.xsl" />
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="true"  
+                     target="email.res"> 
+                     <property name="file" value="classlibt.txt"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${cl.prefix} over drlvm"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onfailure>
+            <onsuccess>
+                <xsltlogpublisher directory="."  outfilename="classlibt.txt.ok"  xsltfile="br.xsl" />
+                <antpublisher   
+                     antworkingdir="."  
+                     buildfile="copyres.xml"  
+                     uselogger="true"  
+                     usedebug="true"  
+                     target="email.res.ok"> 
+                     <property name="file" value="classlibt.txt.ok"/> 
+                     <property name="mailhost" value="${server_addr}"/>
+                     <property name="fromaddress" value="${report_from}"/>
+                     <property name="toaddress" value="${report_to}"/>
+                     <property name="subject" value="${cl.prefix.ok} over drlvm"/>
+                     <property name="flag" value="${project.name}"/>
+                </antpublisher> 
+            </onsuccess>
+        </publishers>
+
+    </project>
 </cruisecontrol>
+
+

Modified: harmony/enhanced/buildtest/trunk/config/copyres.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/copyres.xml?view=diff&rev=482925&r1=482924&r2=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/copyres.xml (original)
+++ harmony/enhanced/buildtest/trunk/config/copyres.xml Tue Dec  5 22:49:38 2006
@@ -1,3 +1,18 @@
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
 <project name="copy_results" default="copy.res" basedir=".">
 
     <tstamp>
@@ -6,20 +21,49 @@
 
     <target name="copy.res">
        <delete file="projects/classlib/trunk/results_${VM}_${timestamp}.zip" failonerror="false" />
-       <zip destfile="projects/classlib/trunk/results_${VM}_${timestamp}.zip">
+       <zip destfile="projects/classlib/trunk/results_${VM}_${timestamp}.zip" >
            <zipfileset dir="projects/classlib/trunk/build/test_report" includes="**/*.xml" />
         </zip>
     </target>
-
     <target name="copy.vm.res">
        <delete file="projects/drlvm/trunk/results_${timestamp}.zip" failonerror="false" />
-       <zip destfile="projects/drlvm/trunk/results_${timestamp}.zip">
+       <zip destfile="projects/drlvm/trunk/results_${timestamp}.zip" >
             <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/vm/_smoke.tests/reports" prefix="smoke/" />
             <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/vm/_cunit.tests/report" prefix="cunit/" />
-            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/jitrino.jet" prefix="jet/" includes="**/*.xml" />
-            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/jitrino.opt" prefix="opt/" includes="**/*.xml" />
-            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/interpreter" prefix="int/" includes="**/*.xml" />
+            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/jet.mode" prefix="jet/" includes="**/*.xml" />
+            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/opt.mode" prefix="opt/" includes="**/*.xml" />
+            <zipfileset dir="projects/drlvm/trunk/build/${BUILD}/semis/kernel.tests/reports/int.mode" prefix="int/" includes="**/*.xml" />
         </zip>
+    </target>
+
+    <condition property="already.sent.f">
+            <available file="${flag}.fs"/>
+    </condition>
+
+    <condition property="already.sent.ok">
+            <available file="${flag}.oks"/>
+    </condition>
+
+    <target name="email.res" unless="already.sent.f" >
+        <echo file="${flag}.fs" message="f.done: ${already.sent.f} ${already.sent.ok}"/>
+        <delete file="${flag}.oks" failonerror="false"/>
+	<mail	from="${fromaddress}" 
+		tolist="${toaddress}"
+		messagefile="${file}"
+		failonerror="false"
+		mailhost="${mailhost}"
+		subject="${subject}"/>
+    </target>
+
+    <target name="email.res.ok" unless="already.sent.ok" >
+        <echo file="${flag}.oks" message="ok.done: ${already.sent.f} ${already.sent.ok}"/>
+        <delete file="${flag}.fs" failonerror="false"/>
+	<mail	from="${fromaddress}" 
+		tolist="${toaddress}"
+		messagefile="${file}"
+		failonerror="false"
+		mailhost="${mailhost}"
+		subject="${subject}"/>
     </target>
 
 </project>

Added: harmony/enhanced/buildtest/trunk/config/xsl/br.xsl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/xsl/br.xsl?view=auto&rev=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/xsl/br.xsl (added)
+++ harmony/enhanced/buildtest/trunk/config/xsl/br.xsl Tue Dec  5 22:49:38 2006
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 651 W Washington Ave. Suite 500
+ * Chicago, IL 60661 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************************-->
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <xsl:import href="header.xsl"/>
+  <xsl:import href="errors.xsl"/>
+  <xsl:import href="unittests.xsl"/>
+  <xsl:import href="modifications.xsl"/>
+
+  <xsl:output method="text"/>
+
+  <xsl:variable name="cruisecontrol.list" select="."/>
+
+  <xsl:template match="/">
+    <p><xsl:apply-templates select="$cruisecontrol.list" mode="header"/></p>
+    <p><xsl:apply-templates select="$cruisecontrol.list" mode="errors"/></p>
+    <p><xsl:apply-templates select="$cruisecontrol.list" mode="unittests"/></p>
+    <p><xsl:apply-templates select="$cruisecontrol.list" mode="modifications"/></p>
+  </xsl:template>
+</xsl:stylesheet>

Propchange: harmony/enhanced/buildtest/trunk/config/xsl/br.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl?view=auto&rev=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl (added)
+++ harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl Tue Dec  5 22:49:38 2006
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 651 W Washington Ave. Suite 600
+ * Chicago, IL 60661 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************************-->
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns="http://www.w3.org/TR/html4/strict.dtd" >
+
+    <xsl:output method="text"/>
+
+    <xsl:variable name="tasklist" select="/cruisecontrol/build//target/task"/>
+
+    <xsl:template match="/" mode="errors">
+
+        <xsl:variable name="error.messages" select="$tasklist/message[@priority='error']"/>
+        <xsl:variable name="warn.messages" select="$tasklist/message[@priority='warn']"/>
+        <xsl:variable name="total.errorMessage.count" select="count($warn.messages) + count($error.messages)"/>
+
+        <xsl:if test="$total.errorMessage.count > 0">
+            <xsl:text>&#10;***********************************************************&#10;</xsl:text>
+            <xsl:text>Errors/Warnings:	</xsl:text>(<xsl:value-of select="$total.errorMessage.count"/>)
+            <xsl:text>&#10;</xsl:text>
+                
+            <xsl:if test="count($error.messages) > 0">
+                <xsl:apply-templates select="$error.messages" mode="errors"/>
+            </xsl:if>
+        </xsl:if>
+
+    </xsl:template>
+
+    <xsl:template match="message[@priority='error']" mode="errors">
+        <xsl:if test="count(./../message[@priority='error']) != position()">
+            <xsl:value-of select="text()"/>
+            <xsl:text>&#10;</xsl:text>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="message[@priority='warn']" mode="errors">
+        <xsl:if test="not(starts-with(text(),'cvs update'))">
+            <xsl:value-of select="text()"/>
+            <xsl:text>&#10;</xsl:text>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="/">
+        <xsl:apply-templates select="." mode="errors"/>
+    </xsl:template>
+</xsl:stylesheet>

Propchange: harmony/enhanced/buildtest/trunk/config/xsl/errors.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/trunk/config/xsl/header.xsl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/xsl/header.xsl?view=auto&rev=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/xsl/header.xsl (added)
+++ harmony/enhanced/buildtest/trunk/config/xsl/header.xsl Tue Dec  5 22:49:38 2006
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 651 W Washington Ave. Suite 600
+ * Chicago, IL 60661 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************************-->
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+    xmlns:lxslt="http://xml.apache.org/xslt">
+
+    <xsl:output method="text"/>
+
+    <xsl:template match="/" mode="header">
+        <xsl:variable name="modification.list" select="cruisecontrol/modifications/modification"/>
+
+            <xsl:if test="cruisecontrol/build/@error">
+                <xsl:text>BUILD FAILED:&#10;	Ant Error Message:&#10;</xsl:text>
+                <xsl:value-of select="cruisecontrol/build/@error"/>
+		<xsl:text>&#10;</xsl:text>
+            </xsl:if>
+
+            <xsl:if test="not (cruisecontrol/build/@error)">
+                <xsl:text>BUILD COMPLETE:	</xsl:text>
+                    <xsl:value-of select="cruisecontrol/info/property[@name='label']/@value"/>
+                <xsl:text>&#10;</xsl:text>
+            </xsl:if>
+
+            <xsl:text>&#10;</xsl:text>
+            <xsl:text>Date of build:	</xsl:text>
+            <xsl:value-of select="cruisecontrol/info/property[@name='builddate']/@value"/>
+            <xsl:text>&#10;</xsl:text>
+
+            <xsl:text>Time to build:	</xsl:text>
+            <xsl:value-of select="cruisecontrol/build/@time"/>
+            <xsl:text>&#10;</xsl:text>
+
+            <xsl:apply-templates select="$modification.list" mode="header">
+                <xsl:sort select="date" order="descending" data-type="text" />
+            </xsl:apply-templates>
+    </xsl:template>
+
+    <!-- Last Modification template -->
+    <xsl:template match="modification" mode="header">
+        <xsl:if test="position() = 1">
+            <xsl:text>Last changed:	</xsl:text>
+            <xsl:value-of select="date"/>
+            <xsl:text>&#10;</xsl:text>
+
+            <xsl:text>Last log entry:	</xsl:text>
+            <xsl:value-of select="comment"/>
+            <xsl:text>&#10;</xsl:text>
+
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="/">
+        <xsl:apply-templates select="." mode="header"/>
+    </xsl:template>
+</xsl:stylesheet>

Propchange: harmony/enhanced/buildtest/trunk/config/xsl/header.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl?view=auto&rev=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl (added)
+++ harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl Tue Dec  5 22:49:38 2006
@@ -0,0 +1,400 @@
+<?xml version="1.0"?>
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 651 W Washington Ave. Suite 600
+ * Chicago, IL 60661 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************************-->
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+    <xsl:output method="text"/>
+    <xsl:variable name="modification.list" select="cruisecontrol/modifications/modification"/>
+    <xsl:variable name="urlroot" select='"/cruisecontrol/buildresults/"'/>
+
+
+    <xsl:template match="/" mode="modifications">
+            <!-- Modifications -->
+            <xsl:text>&#10;***********************************************************&#10;</xsl:text>
+            <xsl:text>Modifications since last successful build:	</xsl:text>(<xsl:value-of select="count($modification.list)"/>)
+            <xsl:text>&#10;</xsl:text>
+
+            <xsl:apply-templates select="$modification.list" mode="modifications">
+                <xsl:sort select="date" order="descending" data-type="text" />
+            </xsl:apply-templates>
+
+    </xsl:template>
+
+    <!-- user defined variables for logging into ClearQuest -->
+    <xsl:variable name="cqserver">localhost</xsl:variable>
+    <xsl:variable name="cqschema">2003.06.00</xsl:variable>
+    <xsl:variable name="cqdb">RBPRO</xsl:variable>
+    <xsl:variable name="cqlogin">admin</xsl:variable>
+    <xsl:variable name="cqpasswd">password</xsl:variable>
+
+    <xsl:template match="modification[@type='activity']" mode="modifications">
+        <xsl:variable name="cqrecurl">http://<xsl:value-of select="$cqserver"/>/cqweb/main?command=GenerateMainFrame&amp;service=CQ&amp;schema=<xsl:value-of select="$cqschema"/>&amp;contextid=<xsl:value-of select="$cqdb"/>&amp;entityID=<xsl:value-of select="revision"/>&amp;entityDefName=<xsl:value-of select="crmtype"/>&amp;username=<xsl:value-of select="$cqlogin"/>&amp;password=<xsl:value-of select="$cqpasswd"/></xsl:variable>
+            <xsl:attribute name="class">changelists-evenrow</xsl:attribute>
+            <xsl:text> </xsl:text>
+	    <a href="{$cqrecurl}" target="_blank"><xsl:value-of select="revision"/></a>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="crmtype"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="comment"/>
+            <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <xsl:template match="modification[@type='contributor']" mode="modifications">
+        <xsl:variable name="cqrecurl">http://<xsl:value-of select="$cqserver"/>/cqweb/main?command=GenerateMainFrame&amp;service=CQ&amp;schema=<xsl:value-of select="$cqschema"/>&amp;contextid=<xsl:value-of select="$cqdb"/>&amp;entityID=<xsl:value-of select="revision"/>&amp;entityDefName=<xsl:value-of select="crmtype"/>&amp;username=<xsl:value-of select="$cqlogin"/>&amp;password=<xsl:value-of select="$cqpasswd"/></xsl:variable>
+            <xsl:attribute name="class">changelists-oddrow</xsl:attribute>
+		<a href="{$cqrecurl}" target="_blank"><xsl:value-of select="revision"/></a>
+            <xsl:text> </xsl:text>
+                <xsl:value-of select="crmtype"/>
+            <xsl:text> </xsl:text>
+                <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+                <xsl:value-of select="comment"/>
+            <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+
+    <xsl:template match="modification[@type='p4']" mode="modifications">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">changelists-oddrow</xsl:attribute>
+            </xsl:if>
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">changelists-evenrow</xsl:attribute>
+            </xsl:if>
+            <xsl:value-of select="revision"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="client"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="date"/>
+            <xsl:text> </xsl:text>
+            <xsl:variable name="convertedComment">
+                <xsl:call-template name="newlineToHTML">
+                    <xsl:with-param name="line">
+                        <xsl:value-of select="comment"/>
+                    </xsl:with-param>
+                </xsl:call-template>
+            </xsl:variable>
+
+            <xsl:copy-of select="$convertedComment"/>
+            <xsl:text>&#10;</xsl:text>
+
+        <xsl:if test="count(file) > 0">
+                <xsl:if test="position() mod 2=0">
+                    <xsl:attribute name="class">changelists-oddrow</xsl:attribute>
+                </xsl:if>
+
+                <xsl:if test="position() mod 2!=0">
+                    <xsl:attribute name="class">changelists-evenrow</xsl:attribute>
+                </xsl:if>
+
+                <xsl:text>Files affected by this changelist: </xsl:text>
+                (<xsl:value-of select="count(file)"/>)
+                <xsl:text>&#10;</xsl:text>
+                <xsl:apply-templates select="file" mode="modifications"/>
+        </xsl:if>
+    </xsl:template>
+
+    <!-- used by P4 -->
+    <xsl:template match="file" mode="modifications">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">changelists-file-oddrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">changelists-file-evenrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:value-of select="@action"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="filename"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="revision"/>
+            <xsl:text> </xsl:text>
+    </xsl:template>
+
+    <!-- Modifications template for other SourceControls -->
+    <xsl:template match="modification[file][@type!='p4']" mode="modifications">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">modifications-oddrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">modifications-evenrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:value-of select="file/@action"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+            <xsl:if test="file/project">
+                <xsl:value-of select="file/project"/>
+                <xsl:value-of select="'/'"/>
+            </xsl:if>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="file/filename"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="date"/>
+            <xsl:text> </xsl:text>
+            <xsl:variable name="convertedComment">
+                <xsl:call-template name="newlineToHTML">
+                    <xsl:with-param name="line">
+                        <xsl:value-of select="comment"/>
+                    </xsl:with-param>
+                </xsl:call-template>
+            </xsl:variable>
+            <xsl:copy-of select="$convertedComment"/>
+            <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <xsl:template match="modification[file][@type='buildstatus']" mode="modifications">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">modifications-oddrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">modifications-evenrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:value-of select="file/@action"/>
+            <xsl:text> </xsl:text>
+
+            <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+
+            <xsl:if test="file/project">
+                <xsl:value-of select="file/project"/>
+                <xsl:value-of select="'/'"/>
+            </xsl:if>
+
+            <xsl:for-each select="file/filename">
+                <xsl:variable name="thefile" select="substring(current(),1,string-length(current())-4)"/>
+                <xsl:variable name="theproject" select="../../comment"/>
+                <a href="{$urlroot}{$theproject}?log={$thefile}"><xsl:copy-of select="$thefile"/></a>
+                <xsl:text> </xsl:text>
+            </xsl:for-each>
+
+            <xsl:value-of select="date"/>
+            <xsl:variable name="convertedComment">
+                <xsl:call-template name="newlineToHTML">
+                    <xsl:with-param name="line">
+                        <xsl:value-of select="comment"/>
+                    </xsl:with-param>
+                </xsl:call-template>
+            </xsl:variable>
+            <xsl:copy-of select="$convertedComment"/>
+            <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <!-- Up to version 2.1.6 the modification set format did not
+         include the file node -->
+    <xsl:template match="modification" mode="modifications">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">modifications-oddrow</xsl:attribute>
+            </xsl:if>
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">modifications-evenrow</xsl:attribute>
+            </xsl:if>
+
+            <xsl:value-of select="@type"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="user"/>
+            <xsl:text> </xsl:text>
+            <xsl:if test="project">
+                <xsl:value-of select="project"/>
+                <xsl:value-of select="'/'"/>
+            </xsl:if>
+            <xsl:value-of select="filename"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="date"/>
+            <xsl:text> </xsl:text>
+            <xsl:variable name="convertedComment">
+                <xsl:call-template name="newlineToHTML">
+                    <xsl:with-param name="line">
+                        <xsl:value-of select="comment"/>
+                    </xsl:with-param>
+                </xsl:call-template>
+            </xsl:variable>
+            <xsl:copy-of select="$convertedComment"/>
+            <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <!-- Used by CM Synergy -->
+    <xsl:template match="modification[@type='ccmtask']" mode="modifications">
+        <tr>
+            <td class="modifications-sectionheader">Task</td>
+            <td class="modifications-sectionheader">Owner</td>
+            <td class="modifications-sectionheader">Release</td>
+            <td class="modifications-sectionheader">Change Request(s)</td>
+            <td class="modifications-sectionheader">Completion Date</td>
+            <td class="modifications-sectionheader">Synopsis</td>
+        </tr>
+        <tr valign="top">
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">changelists-oddrow</xsl:attribute>
+            </xsl:if>
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">changelists-evenrow</xsl:attribute>
+            </xsl:if>
+            <td class="modifications-data">
+                <b><xsl:copy-of select="task"/></b>
+            </td>
+            <td class="modifications-data">
+                <xsl:value-of select="user"/>
+            </td>
+            <td class="modifications-data">
+                <xsl:value-of select="revision"/>
+            </td>
+            <td class="modifications-data">
+                <xsl:apply-templates select="ccmcr" mode="modifications"/>
+            </td>
+            <td class="modifications-data">
+                <xsl:value-of select="date"/>
+            </td>
+            <td class="modifications-data">
+                <xsl:variable name="convertedComment">
+                    <xsl:call-template name="newlineToHTML">
+                        <xsl:with-param name="line">
+                            <xsl:value-of select="comment"/>
+                        </xsl:with-param>
+                    </xsl:call-template>
+                </xsl:variable>
+                <xsl:copy-of select="$convertedComment"/>
+            </td>
+        </tr>
+        <xsl:if test="count(ccmobject) > 0">
+            <tr valign="top">
+                <xsl:if test="position() mod 2=0">
+                    <xsl:attribute name="class">changelists-oddrow</xsl:attribute>
+                </xsl:if>
+                <xsl:if test="position() mod 2!=0">
+                    <xsl:attribute name="class">changelists-evenrow</xsl:attribute>
+                </xsl:if>
+                <td class="modifications-data" colspan="6">
+                    <table align="right" cellpadding="1" cellspacing="1" border="0" width="95%">
+                        <tr>
+                            <td class="changelists-file-header" colspan="7">
+                                &#160;Objects associated with this task:&#160;
+                                (<xsl:value-of select="count(ccmobject)"/>)
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="changelists-file-header">Object</td>
+                            <td class="changelists-file-header">Version</td>
+                            <td class="changelists-file-header">Type</td>
+                            <td class="changelists-file-header">Instance</td>
+                            <td class="changelists-file-header">Project</td>
+                            <td class="changelists-file-header">Comment</td>
+                        </tr>
+                        <xsl:apply-templates select="ccmobject" mode="modifications"/>
+                    </table>
+                </td>
+            </tr>
+        </xsl:if>
+    </xsl:template>
+    <xsl:template match="ccmobject" mode="modifications">
+        <tr valign="top" >
+            <xsl:if test="position() mod 2=0">
+                <xsl:attribute name="class">changelists-file-oddrow</xsl:attribute>
+            </xsl:if>
+            <xsl:if test="position() mod 2!=0">
+                <xsl:attribute name="class">changelists-file-evenrow</xsl:attribute>
+            </xsl:if>
+            <td class="modifications-data"><b><xsl:value-of select="name"/></b></td>
+            <td class="modifications-data"><xsl:value-of select="version"/></td>
+            <td class="modifications-data"><xsl:value-of select="type"/></td>
+            <td class="modifications-data"><xsl:value-of select="instance"/></td>
+            <td class="modifications-data"><xsl:value-of select="project"/></td>
+            <td class="modifications-data">
+                <xsl:variable name="convertedComment">
+                    <xsl:call-template name="newlineToHTML">
+                        <xsl:with-param name="line">
+                            <xsl:value-of select="comment"/>
+                        </xsl:with-param>
+                    </xsl:call-template>
+                </xsl:variable>
+                <xsl:copy-of select="$convertedComment"/>
+            </td>
+        </tr>
+    </xsl:template>
+    <xsl:template match="ccmcr" mode="modifications">
+        <xsl:if test="position() != 1">
+            ,
+        </xsl:if>
+        <xsl:copy-of select="*"/>
+    </xsl:template>
+
+    <xsl:template match="/">
+        <xsl:apply-templates select="." mode="modifications"/>
+    </xsl:template>
+
+    <xsl:template name="newlineToHTML">
+        <xsl:param name="line"/>
+        <xsl:choose>
+            <xsl:when test="contains($line, '&#xA;')">
+                <xsl:value-of select="substring-before($line, '&#xA;')"/>
+                <br/>
+                <xsl:call-template name="newlineToHTML">
+                    <xsl:with-param name="line">
+                        <xsl:value-of select="substring-after($line, '&#xA;')"/>
+                    </xsl:with-param>
+                </xsl:call-template>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="$line"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+</xsl:stylesheet>

Propchange: harmony/enhanced/buildtest/trunk/config/xsl/modifications.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl?view=auto&rev=482925
==============================================================================
--- harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl (added)
+++ harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl Tue Dec  5 22:49:38 2006
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 651 W Washington Ave. Suite 600
+ * Chicago, IL 60661 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************************-->
+<!-- 
+    Copyright 2006 The Apache Software Foundation or its licensors, as applicable
+     
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. 
+-->
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+    xmlns:lxslt="http://xml.apache.org/xslt">
+
+    <xsl:output method="text"/>
+
+    <xsl:variable name="testsuite.list" select="//testsuite"/>
+    <xsl:variable name="testsuite.error.count" select="count($testsuite.list/error)"/>
+    <xsl:variable name="testcase.list" select="$testsuite.list/testcase"/>
+    <xsl:variable name="testcase.error.list" select="$testcase.list/error"/>
+    <xsl:variable name="testcase.failure.list" select="$testcase.list/failure"/>
+    <xsl:variable name="totalErrorsAndFailures" select="count($testcase.error.list) + count($testcase.failure.list) + $testsuite.error.count"/>
+
+    <xsl:template match="/" mode="unittests">
+            <!-- Unit Tests -->
+        <xsl:text>&#10;***********************************************************&#10;</xsl:text>
+        <xsl:text>Unit Tests: </xsl:text>(<xsl:value-of select="count($testcase.list)"/>)
+        <xsl:text>&#10;</xsl:text>
+
+            <xsl:choose>
+                <xsl:when test="count($testsuite.list) = 0">
+                     <xsl:text>No Tests Run: This project doesn't have any tests&#10;</xsl:text>
+                </xsl:when>
+
+                <xsl:when test="$totalErrorsAndFailures = 0">
+                    <xsl:text>All Tests Passed&#10;</xsl:text>
+                </xsl:when>
+            </xsl:choose>
+
+            <xsl:apply-templates select="$testcase.error.list" mode="unittests"/>
+            <xsl:apply-templates select="$testcase.failure.list" mode="unittests"/>
+
+            <xsl:if test="$totalErrorsAndFailures > 0">
+
+                <xsl:text>Unit Test Error Details:	</xsl:text>(<xsl:value-of select="$totalErrorsAndFailures"/>)
+                <xsl:text>&#10;</xsl:text>
+
+                <!-- (PENDING) Why doesn't this work if set up as variables up top? -->
+                <xsl:call-template name="testdetail">
+                    <xsl:with-param name="detailnodes" select="//testsuite/testcase[.//error]"/>
+                </xsl:call-template>
+
+                <xsl:call-template name="testdetail">
+                    <xsl:with-param name="detailnodes" select="//testsuite/testcase[.//failure]"/>
+                </xsl:call-template>
+            </xsl:if>
+    </xsl:template>
+
+    <!-- UnitTest Errors -->
+    <xsl:template match="error" mode="unittests">
+        <xsl:if test="position() mod 2 = 0">
+            <xsl:attribute name="class">unittests-oddrow</xsl:attribute>
+        </xsl:if>
+
+        <xsl:text>error: </xsl:text>
+        <xsl:value-of select="../@name"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="..//..//@name"/>
+        <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <!-- UnitTest Failures -->
+    <xsl:template match="failure" mode="unittests">
+        <xsl:if test="($testsuite.error.count + position()) mod 2 = 0">
+            <xsl:attribute name="class">unittests-oddrow</xsl:attribute>
+        </xsl:if>
+
+        <xsl:text>failure: </xsl:text>
+        <xsl:value-of select="../@name"/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="..//..//@name"/>
+        <xsl:text>&#10;</xsl:text>
+    </xsl:template>
+
+    <!-- UnitTest Errors And Failures Detail Template -->
+    <xsl:template name="testdetail">
+        <xsl:param name="detailnodes"/>
+        <xsl:for-each select="$detailnodes">
+            <xsl:text>Test: </xsl:text>
+            <xsl:value-of select="@name"/>
+            <xsl:text>Class: </xsl:text>
+            <xsl:value-of select="..//@name"/>
+
+            <xsl:if test="error">
+                <xsl:call-template name="test-data">
+                    <xsl:with-param name="word" select="error"/>
+                    <xsl:with-param name="type" select="'error'"/>
+                </xsl:call-template>
+            </xsl:if>
+
+            <xsl:if test="failure">
+                <xsl:call-template name="test-data">
+                    <xsl:with-param name="word" select="failure"/>
+                    <xsl:with-param name="type" select="'failure'"/>
+                </xsl:call-template>
+            </xsl:if>
+
+        </xsl:for-each>
+    </xsl:template>
+
+    <xsl:template name="test-data">
+        <xsl:param name="word"/>
+        <xsl:param name="type"/>
+        <xsl:call-template name="stack-trace">
+            <xsl:with-param name="word" select="$word"/>
+            <xsl:with-param name="type" select="$type"/>
+        </xsl:call-template>
+    </xsl:template>
+
+    <xsl:template name="stack-trace">
+        <xsl:param name="word"/>
+        <xsl:param name="type"/>
+        <xsl:call-template name="br-replace">
+            <xsl:with-param name="word" select="$word"/>
+            <xsl:with-param name="type" select="$type"/>
+            <xsl:with-param name="count" select="0"/>
+        </xsl:call-template>
+    </xsl:template>
+
+    <xsl:template name="br-replace">
+        <xsl:param name="word"/>
+        <xsl:param name="type"/>
+        <xsl:param name="count"/>
+        <xsl:variable name="stackstart"><xsl:text>	at</xsl:text></xsl:variable>
+        <xsl:variable name="cr"><xsl:text>
+</xsl:text></xsl:variable>
+        <xsl:choose>
+            <xsl:when test="contains($word,$cr)">
+                <xsl:attribute name="class">unittests-<xsl:value-of select="$type"/></xsl:attribute>
+                <xsl:if test="$count mod 2 != 0">
+                    <xsl:attribute name="bgcolor">#EEEEEE</xsl:attribute>
+                </xsl:if>
+
+                <xsl:if test="$count != 0 and starts-with($word,$stackstart)">
+                    <xsl:value-of select="substring-before($word,$cr)"/>
+                    <xsl:text>&#10;</xsl:text>
+                </xsl:if>
+
+                <xsl:if test="$count != 0 and not(starts-with($word,$stackstart))">
+                    <xsl:value-of select="substring-before($word,$cr)"/>
+                    <xsl:text>&#10;</xsl:text>
+                </xsl:if>
+
+                <xsl:if test="$count = 0">
+                    <xsl:value-of select="substring-before($word,$cr)"/>
+                    <xsl:text>&#10;</xsl:text>
+                </xsl:if>
+                <xsl:call-template name="br-replace">
+                    <xsl:with-param name="word" select="substring-after($word,$cr)"/>
+                    <xsl:with-param name="type" select="$type"/>
+                    <xsl:with-param name="count" select="$count + 1"/>
+                </xsl:call-template>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:attribute name="class">unittests-<xsl:value-of select="$type"/></xsl:attribute>
+                <xsl:if test="$count mod 2 != 0">
+                    <xsl:attribute name="bgcolor">#EEEEEE</xsl:attribute>
+                </xsl:if>
+                <xsl:value-of select="$word"/>
+                <xsl:text>&#10;</xsl:text>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+
+    <xsl:template match="/">
+        <xsl:apply-templates select="." mode="unittests"/>
+    </xsl:template>
+</xsl:stylesheet>

Propchange: harmony/enhanced/buildtest/trunk/config/xsl/unittests.xsl
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message