harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r475774 - in /incubator/harmony/enhanced/buildtest/trunk: README.txt build.xml cc.properties.example config/config-full.xml
Date Thu, 16 Nov 2006 15:36:14 GMT
Author: geirm
Date: Thu Nov 16 07:36:13 2006
New Revision: 475774

URL: http://svn.apache.org/viewvc?view=rev&rev=475774
Log:
HARMONY-995

many misc patches to build-test

Not yet tested :)  I know that others are working 
with this, so just wanted to get the patch in to get
a common basis.

Note, I changed how cc.properties work - it's now a .example
file so that user copies a local version, and doesn't then
indicate the need to be committed if they are developing
in this area


Added:
    incubator/harmony/enhanced/buildtest/trunk/cc.properties.example
Modified:
    incubator/harmony/enhanced/buildtest/trunk/README.txt
    incubator/harmony/enhanced/buildtest/trunk/build.xml
    incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml

Modified: incubator/harmony/enhanced/buildtest/trunk/README.txt
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/README.txt?view=diff&rev=475774&r1=475773&r2=475774
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/README.txt (original)
+++ incubator/harmony/enhanced/buildtest/trunk/README.txt Thu Nov 16 07:36:13 2006
@@ -32,7 +32,9 @@
    
      svn co https://svn.apache.org/repos/asf/incubator/harmony/enhanced/buildtest/trunk
      
-2) With Java, Ant and SVN installed, change into the buildtest/trunk
+2) Copy cc.properties.example to cc.properties, and update file with actual values.
+
+3) With Java, Ant and SVN installed, change into the buildtest/trunk
    directory and type 
    
       ant setup
@@ -40,28 +42,10 @@
    This should fetch CruiseControl, set it up with the Apache Harmony 
    configuration, and checkout the software to be built and tested
    from Apache Harmony.
-   
-3) If you wish to have the tests run successfully, you need to do the 
-   following manual steps for now : 
-   
-   - build the classlib to create the deploy/jdk tree in classlib, first
-     fetching the dependencies
-   
-       cd cc/projects/classlib/trunk
-       ant fetch-depends
-       ant
-   
-   - get the appropriate IBM J9 VM for your platform (this will go 
-     away when DRLVM is good enough
-     
-       http://www-128.ibm.com/developerworks/java/jdk/harmony/index.html    
-     
-   - unpack the above-fetched J9 distribution into the jdk directory (as 
-     the distro assumes it's dropped into the jdk directory...)
-   
-       cd cc/projects/classlib/trunk/deploy/jdk/
-       tar zxf Harmony-vme-linux.IA32-v3.tar.gz
+   Also, as part of setup command the external libs for classlib and drlvm modules 
+   will be downloaded and these modules will be built first time.
 
+   
 To kickoff CruiseControl, just type :
 
       ant
@@ -76,11 +60,9 @@
  To Do
  -----
  
- 1) Configure CC to send mail to Apache mail lists on transitions
+ 1) Setup defaultcc.properties and personal buildcc.properties
  
- 2) Setup defaultcc.properties and personal buildcc.properties
+ 2) Integrate JAPI tool
  
- 3) Integrate JAPI tool
- 
- 4) Integrate X tool
- 
\ No newline at end of file
+ 3) Integrate X tool
+

Modified: incubator/harmony/enhanced/buildtest/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/build.xml?view=diff&rev=475774&r1=475773&r2=475774
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/build.xml (original)
+++ incubator/harmony/enhanced/buildtest/trunk/build.xml Thu Nov 16 07:36:13 2006
@@ -1,11 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- 
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You 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
+    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
      
@@ -23,6 +22,10 @@
 		http://incubator.apache.org/harmony
     </description>
 
+	<!--The cc.property file contains the nameand values of properties-->
+	<property file="cc.properties" />
+
+
 	<!-- files we need -->
 	<property name="cc.filename" value="cruisecontrol-bin-2.5" />
 	<property name="junitjar.filename" value="ant-junit-1.6.5" />
@@ -32,31 +35,65 @@
 	<property name="junitjar.location" value="http://www.ibiblio.org/maven/ant/jars/"/>
 	
 	<!-- where to assemble all the pieces -->
-	<property name="target.dir" value="cc"/>
+	<property name="target.dir" location="cc"/>
+	<mkdir dir="${target.dir}"/>
 	
 	<!-- url of the classlib and drlvm in SVN -->
 	<property name="svn.classlib.url" value="https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib/trunk"/>
 	<property name="svn.drlvm.url" value="https://svn.apache.org/repos/asf/incubator/harmony/enhanced/drlvm/trunk"/>
-	
-    <condition property="is.windows">
-        <os family="Windows" />
-    </condition>
+
+	<condition property="is.windows">
+        	<os family="Windows" />
+	</condition>
+
+	<condition property="need.proxy.port" value="${http-proxy-port}" else="80" >
+        	<isset property="http-proxy-port" />
+	</condition>
+
+	<target name="set.proxy" if="http-proxy-host">
+		<setproxy proxyhost="${http-proxy-host}" proxyport="${need.proxy.port}"/>
+
+ 		<!-- property file for CC -->
+		<echo file="${target.dir}/cc.properties" append="false">#it is auto-generated file
+proxy.host.property=http.proxyHost
+proxy.port.property=http.proxyPort
+proxy.host.vm=env.http.proxyHost
+proxy.port.vm=env.http.proxyPort
+proxy.value=${http-proxy-host}
+port.value=${need.proxy.port}
+</echo>
+		<property name="vm.proxy.h" value="-Denv.http.proxyHost=${http-proxy-host}"/>
+		<property name="vm.proxy.p" value="-Denv.http.proxyPort=${need.proxy.port}"/>
+	</target>
+	<target name="no.proxy" unless="http-proxy-host">
+ 		<!-- property file for CC -->
+		<echo file="${target.dir}/cc.properties" append="false">#it is auto-generated file
+proxy.host.property=no.http.proxyHost
+proxy.port.property=no.http.proxyPort
+proxy.host.vm=no.env.http.proxyHost
+proxy.port.vm=no.env.http.proxyPort
+proxy.value=no
+port.value=111
+</echo>
+		<property name="vm.proxy.h" value="-Dno.http.proxyHost=true"/>
+		<property name="vm.proxy.p" value="-Dno.http.proxyPort=0"/>
+	</target>
 
 	<!-- ==========================================
 	       Kick off CC w/ all tests
 	     ========================================== -->
-	<target name="default" description="Start CruiseControl with full test suite" depends="pre-copy,start-win,start-other">
+	<target name="default" description="Start CruiseControl with full test suite" depends="start-win,start-other">
 	</target>
 		
 	<target name="pre-copy">
 		<echo>Copying full test configuration for CruiseControl from /config/config-full.xml</echo>
 		<copy file="config/config-full.xml" tofile="${target.dir}/config.xml" />
-
+		<copy file="config/copyres.xml" tofile="${target.dir}/copyres.xml" />
 	</target>
 	
 	<target name="start-win" if="is.windows">
-		<exec executable="cmd" dir="${target.dir}">
-			<arg line="cruisecontrol.bat"/>
+		<exec executable="cmd" dir="${target.dir}" >
+			<arg line="/c cruisecontrol.bat" />
 		</exec>
 	</target>
 		
@@ -69,7 +106,7 @@
 	<!-- ==========================================
 	     Main setup - download, unpack, checkout
 	     ========================================== -->
-	<target name="setup" description="fetch and setup build/test/ci system">
+	<target name="setup" description="fetch and setup build/test/ci system" depends="set.proxy,no.proxy"
>
 		
 		<!-- get the version of CruiseControl unless we have the zip locally -->
 		
@@ -92,6 +129,7 @@
 		<delete dir="${target.dir}/projects/connectfour" includeEmptyDirs="true" verbose="false"/>
	
 		<delete dir="${target.dir}/logs/connectfour" includeEmptyDirs="true" verbose="false"/>
	
 		<delete file="${target.dir}/config.xml"/>
+		<delete file="${target.dir}/copyres.xml"/>
 		
 		<!-- copy the ant-junit jar to cc/lib -->
 	
@@ -99,14 +137,30 @@
 		
 		<!-- 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" />
 		
 		<mkdir dir="${target.dir}/projects/classlib"/>
 		<mkdir dir="${target.dir}/projects/drlvm"/>
 				
-		<!-- now do the checkouts -->
+		<!-- now do the checkouts and load external libs -->
 	
 		<antcall target="co-classlib"/>
+		<subant target="fetch-depends" buildpath="${target.dir}/projects/classlib/trunk"/>
+		<subant target="rebuild" buildpath="${target.dir}/projects/classlib/trunk" failonerror="true"/>
+
 		<antcall target="co-drlvm"/>
+		<antcall target="process-drlvm"/>
+
+		<echo file="${target.dir}/cc.properties" append="true">
+wdir=${target.dir}
+timeout=${cycle_timeout}
+ttimeout=${task_timeout}
+cc_webcontent=${target.dir}/webapps/cruisecontrol
+server_addr=${mail_server}
+report_to=${report_failures_to}
+report_from=${report_failures_from}
+</echo>
+
 	</target>
 
 	<!-- ================================================
@@ -131,6 +185,41 @@
 			<arg line="co"/>
 			<arg line="${svn.drlvm.url}"/>
 		</exec>
+	</target>
+
+	<target name="drlvm-win" if="is.windows">
+		<echo file="${target.dir}/cc.properties" append="true">
+os=win
+sh=cmd
+cmd.prefix=/c
+cmd=build.bat
+cc=msvc
+</echo>
+		<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}" />
+		</exec>
+	</target>
+		
+	<target name="drlvm-other" unless="is.windows">
+		<echo file="${target.dir}/cc.properties" append="true">
+os=lnx
+sh=sh
+cmd.prefix=
+cmd=build.sh
+cc=gcc
+</echo>
+		<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}"/>
+		</exec>
+	</target>
+	<target name="process-drlvm" depends="drlvm-win,drlvm-other">
+		<echo>download external libs for Harmony DRLVM.</echo>
 	</target>
 
 	<!-- =========================================================

Added: incubator/harmony/enhanced/buildtest/trunk/cc.properties.example
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/cc.properties.example?view=auto&rev=475774
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/cc.properties.example (added)
+++ incubator/harmony/enhanced/buildtest/trunk/cc.properties.example Thu Nov 16 07:36:13 2006
@@ -0,0 +1,44 @@
+##     Licensed to the Apache Software Foundation (ASF) under one
+##     or more contributor license agreements.  See the NOTICE file
+##     distributed with this work for additional information
+##     regarding copyright ownership.  The ASF licenses this file
+##     to you 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.    
+## ======================================================================================
+##
+##  example properties file.  Please rename to "cc.properties" and configure
+##  appropriately
+##
+##
+## -------------------------------------------------------------------
+## proxy configuration - uncomment the following lines with
+## appropriate info for using a proxy
+## -------------------------------------------------------------------
+
+#http-proxy-host=proxy
+#http-proxy-port=911
+
+## --------------------------------------------------------------------
+## timeouts
+## --------------------------------------------------------------------
+task_timeout=10000
+cycle_timeout=500
+
+## --------------------------------------------------------------------
+## mail configuration 
+##  uncomment and configure to use mail for notification
+## --------------------------------------------------------------------
+#mail_server=smtp
+#report_failures_to=<your To: email address here>
+#report_failures_from=<your From: email address here>
+

Modified: incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml?view=diff&rev=475774&r1=475773&r2=475774
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml (original)
+++ incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml Thu Nov 16 07:36:13
2006
@@ -1,7 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cruisecontrol>
 
-    <project name="classlib-deps">
+    <!--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"/>
+
+
+    <project name="classlib">
 
         <listeners>
             <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
@@ -15,66 +21,46 @@
             <svn localWorkingCopy="projects/classlib/trunk"/>
         </modificationset>
 
-        <schedule interval="300">
-        	<ant antWorkingDir="projects/classlib/trunk" target="fetch-depends"/>
+        <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>
         </schedule>
 
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
+        <log dir="logs/${project.name}">
+            <merge dir="projects/${project.name}/trunk/build/test_report" pattern="TEST-*.xml"
/>
         </log>
-    </project>
-
-    <project name="classlib">
-
-        <listeners>
-            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
-        </listeners>
-
-        <bootstrappers>
-            <svnbootstrapper localWorkingCopy="projects/${project.name}/trunk" />
-        </bootstrappers>
-
-	    <modificationset>
-	        <buildstatus logdir="logs/classlib-deps"/>
-	    </modificationset>
 
-        <schedule interval="300">
-        	<ant antWorkingDir="projects/${project.name}/trunk" />
-        </schedule>
-
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
-        </log>
+	<publishers>
+            <antpublisher   
+                 antworkingdir="."  
+                 buildfile="copyres.xml"  
+                 uselogger="true"  
+                 usedebug="false"  
+                 target="copy.res"> 
+                <property name="VM" value="drlvm"/> 
+            </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>
 
     </project>
 
-    <project name="classlib-tests">
-
-        <listeners>
-            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
-        </listeners>
-
-        <bootstrappers>
-            <svnbootstrapper localWorkingCopy="projects/classlib/trunk" />
-        </bootstrappers>
-
-	    <modificationset>
-	        <buildstatus logdir="logs/classlib"/>
-	    </modificationset>
-
-        <schedule interval="300">
-        	<ant target="test" antWorkingDir="projects/classlib/trunk">
-        	    <jvmarg arg="-Xmx384M"/>
-        	</ant>
-        </schedule>
-
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
-        </log>
-
-    </project>
-   
-    <project name="drlvm-deps">
+    <project name="drlvm">
 
         <listeners>
             <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
@@ -85,68 +71,74 @@
         </bootstrappers>
 
         <modificationset quietperiod="30">
-	        <buildstatus logdir="logs/classlib"/>
             <svn localWorkingCopy="projects/drlvm/trunk"/>
+            <buildstatus logdir="logs/classlib"/>
         </modificationset>
 
-        <schedule interval="300">
-        	<exec command="sh" args="build.sh update"  workingdir="projects/drlvm/trunk/build"
/>
+        <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}"/>
         </schedule>
 
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
-        </log>
+	<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}">
 
-    </project>
-    
-    <project name="drlvm">
-
-        <listeners>
-            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
-        </listeners>
-
-        <bootstrappers>
-            <svnbootstrapper localWorkingCopy="projects/${project.name}/trunk" />
-        </bootstrappers>
-
-        <modificationset quietperiod="30">
-	        <buildstatus logdir="logs/drlvm-deps"/>
-            <svn localWorkingCopy="projects/${project.name}/trunk"/>
-        </modificationset>
-
-        <schedule interval="300">
-        	<exec command="sh" args="build.sh"  workingdir="projects/drlvm/trunk/build" />
-        </schedule>
-
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
-        </log>
+                <failure address="${report_to}" reportWhenFixed="true"/>
+            </htmlemail>
+	</publishers>
 
     </project>
 
-    <project name="drlvm-tests">
+    <project name="drlvm-test">
 
         <listeners>
             <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
         </listeners>
 
-        <bootstrappers>
-            <svnbootstrapper localWorkingCopy="projects/drlvm/trunk" />
-        </bootstrappers>
-
-        <modificationset quietperiod="30">
-	        <buildstatus logdir="logs/drlvm"/>
-            <svn localWorkingCopy="projects/drlvm/trunk"/>
+        <modificationset>
+            <buildstatus logdir="logs/drlvm"/>
         </modificationset>
 
-        <schedule interval="300">
-        	<exec command="sh" args="build.sh test"  workingdir="projects/drlvm/trunk/build"
/>
+        <schedule interval="${timeout}">
+        	<exec command="${sh}" args="${cmd.prefix} ${cmd} -Dvm.assert_dialog=false test"
workingdir="projects/drlvm/trunk/build" timeout="${ttimeout}" errorstr="FAILED" />
         </schedule>
 
-        <log>
-            <merge dir="projects/${project.name}/target/test-results"/>
-        </log>
+        <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" />
+        </log>
+
+	<publishers>
+            <antpublisher   
+                 antworkingdir="."  
+                 buildfile="copyres.xml"  
+                 uselogger="true"  
+                 usedebug="false"  
+                 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>
 
     </project>
-    
+
 </cruisecontrol>



Mime
View raw message