harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r420741 - in /incubator/harmony/enhanced/buildtest: ./ trunk/ trunk/README.txt trunk/build.xml trunk/config/ trunk/config/README.txt trunk/config/config-full.xml
Date Tue, 11 Jul 2006 06:34:55 GMT
Author: geirm
Date: Mon Jul 10 23:34:54 2006
New Revision: 420741

URL: http://svn.apache.org/viewvc?rev=420741&view=rev
Log:
first basic shot at setup for ci using 
cruise control.  Has a small problem on 
windows wrt doing an "ant setup" that
completes - fails in the svn co, although
the svn co targets can be run separately


Added:
    incubator/harmony/enhanced/buildtest/
    incubator/harmony/enhanced/buildtest/trunk/
    incubator/harmony/enhanced/buildtest/trunk/README.txt   (with props)
    incubator/harmony/enhanced/buildtest/trunk/build.xml   (with props)
    incubator/harmony/enhanced/buildtest/trunk/config/
    incubator/harmony/enhanced/buildtest/trunk/config/README.txt   (with props)
    incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml   (with props)

Added: incubator/harmony/enhanced/buildtest/trunk/README.txt
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/README.txt?rev=420741&view=auto
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/README.txt (added)
+++ incubator/harmony/enhanced/buildtest/trunk/README.txt Mon Jul 10 23:34:54 2006
@@ -0,0 +1,86 @@
+
+Build-Test Intfrastructure
+==========================
+
+This is the build/test infrastructure to help continually test
+the Apache Harmony project.
+
+Prereguisites 
+-------------
+Basically, you need the tools needed to build the Apache Harmony 
+components, like Java, Ant, C/C++ compilers, etc.  Please see
+the other parts of the project for information on the necessary 
+toolchains.  You need the following as the bare minimum to get 
+CI up and working.
+
+1) Java JDK v5
+
+2) Apache Ant : http://ant.apache.org/  Please get the 
+    latest release (1.6 or better) and install
+	as per project intstructions.
+
+3) Subversion client : http://subversion.tigris.org
+	
+To Setup
+--------
+
+1) Get the /harmony/enhanced/buildtest/ part of the Apache
+   Harmony project.  If you are reading this, you either have
+   it via a zip or tgz, or have checked it out from the project
+   Subversion repository.  In the event that you don't have it
+   you can get it via subversion : 
+   
+     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
+   directory and type 
+   
+      ant setup
+      
+   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
+
+To kickoff CruiseControl, just type :
+
+      ant
+      
+   in buildtest/trunk and that will launch CC with the full test set.
+   
+ To check status, point your browser to 
+ 
+   http://localhost:8080/
+   
+   
+ To Do
+ -----
+ 
+ 1) Configure CC to send mail to Apache mail lists on transitions
+ 
+ 2) Setup defaultcc.properties and personal buildcc.properties
+ 
+ 3) Integrate JAPI tool
+ 
+ 4) Integrate X tool
+ 
\ No newline at end of file

Propchange: incubator/harmony/enhanced/buildtest/trunk/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/enhanced/buildtest/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/build.xml?rev=420741&view=auto
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/build.xml (added)
+++ incubator/harmony/enhanced/buildtest/trunk/build.xml Mon Jul 10 23:34:54 2006
@@ -0,0 +1,142 @@
+<?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. 
+-->
+
+<project name="buildtestinfra" default="default" basedir=".">
+	
+    <description>
+		CI/built/test system for Apache Harmony
+		http://incubator.apache.org/harmony
+    </description>
+
+	<!-- files we need -->
+	<property name="cc.filename" value="cruisecontrol-bin-2.5" />
+	<property name="junitjar.filename" value="ant-junit-1.6.5" />
+	
+	<!-- where to fetch from -->
+	<property name="cc.location" value="http://umn.dl.sourceforge.net/sourceforge/cruisecontrol/"
/>
+	<property name="junitjar.location" value="http://www.ibiblio.org/maven/ant/jars/"/>
+	
+	<!-- where to assemble all the pieces -->
+	<property name="target.dir" value="cc"/>
+	
+	<!-- 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>
+
+	<!-- ==========================================
+	       Kick off CC w/ all tests
+	     ========================================== -->
+	<target name="default" description="Start CruiseControl with full test suite" depends="pre-copy,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" />
+
+	</target>
+	
+	<target name="start-win" if="is.windows">
+		<exec executable="cmd" dir="${target.dir}">
+			<arg line="cruisecontrol.bat"/>
+		</exec>
+	</target>
+		
+	<target name="start-other" unless="is.windows">
+		<exec executable="sh" dir="${target.dir}">
+			<arg line="cruisecontrol.sh"/>
+		</exec>
+	</target>
+	
+	<!-- ==========================================
+	     Main setup - download, unpack, checkout
+	     ========================================== -->
+	<target name="setup" description="fetch and setup build/test/ci system">
+		
+		<!-- get the version of CruiseControl unless we have the zip locally -->
+		
+		<get src="${cc.location}${cc.filename}.zip"
+			 dest="${cc.filename}.zip" 
+			 usetimestamp="true"
+			 verbose="true" />
+	
+		<get src="${junitjar.location}${junitjar.filename}.jar"
+			 dest="${junitjar.filename}.jar" 
+			 usetimestamp="true"
+			 verbose="true" />
+		
+		<!-- unzip it, rename, add ant-junit jar and cleanout the junk -->
+		
+		<unzip src="${cc.filename}.zip" dest="." />
+		
+		<move file="${cc.filename}" tofile="${target.dir}"/>
+
+		<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"/>
+		
+		<!-- copy the ant-junit jar to cc/lib -->
+	
+		<copy file="${junitjar.filename}.jar" todir="${target.dir}/lib"/>
+		
+		<!-- 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" />
+		
+		<mkdir dir="${target.dir}/projects/classlib"/>
+		<mkdir dir="${target.dir}/projects/drlvm"/>
+				
+		<!-- now do the checkouts -->
+	
+		<antcall target="co-classlib"/>
+		<antcall target="co-drlvm"/>
+	</target>
+
+	<!-- ================================================
+	      Checkout classlib trunk tree into place for CC
+	     ================================================ -->
+	<target name="co-classlib">
+		<echo>Checking out Harmony classlib.  This can take a while.  Please be patient...</echo>
+
+		<exec executable="svn" dir="${target.dir}/projects/classlib" failonerror="true">
+			<arg line="co"/>
+			<arg line="${svn.classlib.url}"/>
+		</exec>
+	</target>
+
+	<!-- ================================================
+	      Checkout DRLVM trunk tree into place for CC
+	     ================================================ -->
+	<target name="co-drlvm">
+		<echo>Checking out Harmony DRLVM.  This can take a while.  Please be patient...</echo>
+
+		<exec executable="svn" dir="${target.dir}/projects/drlvm" failonerror="true">
+			<arg line="co"/>
+			<arg line="${svn.drlvm.url}"/>
+		</exec>
+	</target>
+
+	<!-- =========================================================
+	     cleanup to new state.  Leaves the .zip around to save 
+	     time on a setup
+	     ========================================================= -->
+	<target name="clean" description="reset to clean state">
+		<delete dir="${target.dir}" includeEmptyDirs="true"/>				
+	</target>
+</project>
\ No newline at end of file

Propchange: incubator/harmony/enhanced/buildtest/trunk/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/enhanced/buildtest/trunk/config/README.txt
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/config/README.txt?rev=420741&view=auto
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/config/README.txt (added)
+++ incubator/harmony/enhanced/buildtest/trunk/config/README.txt Mon Jul 10 23:34:54 2006
@@ -0,0 +1,7 @@
+This is the source configuration for the buildtest
+part of Apache Harmony.  These resources are 
+copied to where needed.  In the event you wish to 
+change this resource, please change in this directory
+and re-run 'ant setup'.
+
+

Propchange: incubator/harmony/enhanced/buildtest/trunk/config/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml?rev=420741&view=auto
==============================================================================
--- incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml (added)
+++ incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml Mon Jul 10 23:34:54
2006
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cruisecontrol>
+
+    <project name="classlib-deps">
+
+        <listeners>
+            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+        </listeners>
+
+        <bootstrappers>
+            <svnbootstrapper localWorkingCopy="projects/classlib/trunk" />
+        </bootstrappers>
+
+        <modificationset quietperiod="60">
+            <svn localWorkingCopy="projects/classlib/trunk"/>
+        </modificationset>
+
+        <schedule interval="300">
+        	<ant antWorkingDir="projects/classlib/trunk" target="fetch-depends"/>
+        </schedule>
+
+        <log>
+            <merge dir="projects/${project.name}/target/test-results"/>
+        </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>
+
+    </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">
+
+        <listeners>
+            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+        </listeners>
+
+        <bootstrappers>
+            <svnbootstrapper localWorkingCopy="projects/drlvm/trunk" />
+        </bootstrappers>
+
+        <modificationset quietperiod="30">
+	        <buildstatus logdir="logs/classlib"/>
+            <svn localWorkingCopy="projects/drlvm/trunk"/>
+        </modificationset>
+
+        <schedule interval="300">
+        	<exec command="sh" args="build.sh update"  workingdir="projects/drlvm/trunk/build"
/>
+        </schedule>
+
+        <log>
+            <merge dir="projects/${project.name}/target/test-results"/>
+        </log>
+
+    </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>
+
+    </project>
+
+    <project name="drlvm-tests">
+
+        <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>
+
+        <schedule interval="300">
+        	<exec command="sh" args="build.sh test"  workingdir="projects/drlvm/trunk/build"
/>
+        </schedule>
+
+        <log>
+            <merge dir="projects/${project.name}/target/test-results"/>
+        </log>
+
+    </project>
+    
+</cruisecontrol>

Propchange: incubator/harmony/enhanced/buildtest/trunk/config/config-full.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message