You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kato-commits@incubator.apache.org by cc...@apache.org on 2009/03/16 16:41:19 UTC

svn commit: r754940 - in /incubator/kato/trunk/import/org.apache.kato.builder.kato: ./ .project .settings/ .settings/org.eclipse.core.resources.prefs README.TXT build.properties build.xml lib/

Author: ccristal
Date: Mon Mar 16 16:41:19 2009
New Revision: 754940

URL: http://svn.apache.org/viewvc?rev=754940&view=rev
Log:
Initial code contribution from IBM.

Added:
    incubator/kato/trunk/import/org.apache.kato.builder.kato/
    incubator/kato/trunk/import/org.apache.kato.builder.kato/.project
    incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/
    incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/org.eclipse.core.resources.prefs
    incubator/kato/trunk/import/org.apache.kato.builder.kato/README.TXT
    incubator/kato/trunk/import/org.apache.kato.builder.kato/build.properties
    incubator/kato/trunk/import/org.apache.kato.builder.kato/build.xml
    incubator/kato/trunk/import/org.apache.kato.builder.kato/lib/

Added: incubator/kato/trunk/import/org.apache.kato.builder.kato/.project
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/import/org.apache.kato.builder.kato/.project?rev=754940&view=auto
==============================================================================
--- incubator/kato/trunk/import/org.apache.kato.builder.kato/.project (added)
+++ incubator/kato/trunk/import/org.apache.kato.builder.kato/.project Mon Mar 16 16:41:19 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.apache.kato.builder.kato</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Added: incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/org.eclipse.core.resources.prefs
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/org.eclipse.core.resources.prefs?rev=754940&view=auto
==============================================================================
--- incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/org.eclipse.core.resources.prefs (added)
+++ incubator/kato/trunk/import/org.apache.kato.builder.kato/.settings/org.eclipse.core.resources.prefs Mon Mar 16 16:41:19 2009
@@ -0,0 +1,4 @@
+#Fri Jan 30 14:26:57 GMT 2009
+eclipse.preferences.version=1
+encoding/build.properties=ISO-8859-1
+encoding/build.xml=UTF-8

Added: incubator/kato/trunk/import/org.apache.kato.builder.kato/README.TXT
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/import/org.apache.kato.builder.kato/README.TXT?rev=754940&view=auto
==============================================================================
--- incubator/kato/trunk/import/org.apache.kato.builder.kato/README.TXT (added)
+++ incubator/kato/trunk/import/org.apache.kato.builder.kato/README.TXT Mon Mar 16 16:41:19 2009
@@ -0,0 +1,9 @@
+Build and Packager for the IBM DTFJ build
+
+Look at the build.properties file for configuration information.
+
+
+The target directory (ie where all the building and packaging takes place )
+is specified by  the "buildDirectory" property and it defaults to  "${user.home}/kato-build/dtfj"
+Important note : this directory is deleted as part of the build process
+ 

Added: incubator/kato/trunk/import/org.apache.kato.builder.kato/build.properties
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/import/org.apache.kato.builder.kato/build.properties?rev=754940&view=auto
==============================================================================
--- incubator/kato/trunk/import/org.apache.kato.builder.kato/build.properties (added)
+++ incubator/kato/trunk/import/org.apache.kato.builder.kato/build.properties Mon Mar 16 16:41:19 2009
@@ -0,0 +1,78 @@
+#-------------------------------------------------------------------------------
+# 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.
+#-------------------------------------------------------------------------------
+workspace=..
+builder=${workspace}/builder.dtfj
+output=${user.home}/kato.output
+latest=${output}/latest
+components=${latest}/components
+dist=${components}/${project}/dist
+major.project=dtfj
+major.dist=${latest}/dist/dtfj-dist
+major.dist.support=${latest}/dist/dtfj-support
+junit.output=${components}/${project}/junit
+javadoc.results=${components}/${project}/javadoc
+testsrc=./testsrc
+srclevel=1.4
+junit.path=${builder}/lib/junit.jar
+dtfjant.path=${builder}/lib/dtfjant.jar
+lib=${builder}/lib
+build.number=9999
+buildname=N${build.number}
+
+jarfile=${dist}/${project}.jar
+
+#
+# List of required projects to compile etc
+# comma delimited
+required.project.list=\
+com.ibm.dtfj.api,\
+com.ibm.dtfj.tck.harness,\
+com.ibm.dtfj.tck.tests
+#
+# List of optional projects to compile etc
+# comma delimited
+optional.project.list=
+
+major.jarfile=${major.dist}/${major.project}.jar
+
+tck.jarfile=${major.dist.support}/tck.jar
+tck.tests.jarfile=${major.dist.support}/tck-tests.jar
+tck.definition=${dist}/test-definition.xml
+srcjarfile=${dist}/${project}-src.zip
+
+# Zip containing all code required to run tck.
+# Includes tck, testcases, emma and junit
+#
+tck.ship.zip=${major.dist.support}/tck.zip
+# tar version
+tck.ship.tar=${major.dist.support}/tck.tar
+# gzip version
+tck.ship.gz=${major.dist.support}/tck.tar.gz
+# jar version
+tck.ship.jar=${major.dist.support}/tck-all.jar
+mat.dir=${workspace}
+
+# emma
+major.emma.jarfile=${major.dist.support}/${major.project}-emma.jar
+emma.metadata.dir=${components}/${major.project}/emma
+emma.path=${builder}/lib/emma.jar
+
+
+#
+# switches to turn actions off
+# Just set them.  no specific value is required
+#
+#no.javadoc=true
+no.tck=true
+#no.test=true

Added: incubator/kato/trunk/import/org.apache.kato.builder.kato/build.xml
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/import/org.apache.kato.builder.kato/build.xml?rev=754940&view=auto
==============================================================================
--- incubator/kato/trunk/import/org.apache.kato.builder.kato/build.xml (added)
+++ incubator/kato/trunk/import/org.apache.kato.builder.kato/build.xml Mon Mar 16 16:41:19 2009
@@ -0,0 +1,291 @@
+<?xml version="1.0"?>
+<!--
+  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 default="default">
+
+	<tstamp/>
+	
+	<property name="project" value="${major.project}" />
+	<property file="./build.properties" />
+
+	<path id="tasks.lib">
+		<pathelement location="${lib}/emma.jar" />
+		<pathelement location="${lib}/ant-contrib-1.0b3.jar" />
+		<pathelement location="${lib}/emma_ant.jar" />
+	</path>
+
+	<taskdef resource="emma_ant.properties" classpathref="tasks.lib" />
+	<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="tasks.lib" />
+
+	<!--
+		Main entry point for this ant file
+		Usual effect of cleaning everything, compiling, testing and packaging
+	-->
+	<target name="default">
+		<antcall target="clean" />
+		<antcall target="compile-all" />
+		<antcall target="javadoc" />
+		<antcall target="package" />
+
+
+		<!-- publish config file -->
+		<copy todir="${major.dist.support}" file="./build.properties" />
+
+	</target>
+
+	<target name="clean">
+
+		<!-- clean latest -->
+		<mkdir dir="${latest}" />
+		<delete includeemptydirs="true">
+			<fileset dir="${latest}" includes="**/*" />
+		</delete>
+
+	</target>
+
+	<!--
+		Compile all projects 
+		
+		Projects are compiled by directly calling their build.xml
+		file.  No runtime parameters from this ant instance are
+		propogated
+	-->
+	<target name="compile-all">
+		<antcall target="compile-all-required" />
+		<antcall target="compile-all-optional" />
+	</target>
+
+	<!--
+		Compile all required projects named in the required.project.list
+		variable. Projects are compiled by directly calling their build.xml
+		file.  No runtime parameters from this ant instance are
+		propogated
+		-->
+	<target name="compile-all-required">
+		<foreach target="compile-required-project" param="project.name" list="${required.project.list}" />
+	</target>
+
+	<!--
+			Compile optional projects named in the optional.project.list
+			variable. Projects are compiled by directly calling their build.xml
+			file.  No runtime parameters from this ant instance are
+			propogated
+			-->
+	<target name="compile-all-optional">
+		<foreach target="compile-optional-project" param="project.name" list="${optional.project.list}" />
+	</target>
+
+	<!--
+	Drives the named projects build process
+	Not particularly useful if called directly
+	if project is missing then build is skipped 
+	-->
+	<target name="compile-optional-project">
+		<if>
+			<available file="${workspace}/${project.name}/build.xml" />
+
+			<then>
+				<ant antfile="${workspace}/${project.name}/build.xml" inheritall="no" />
+			</then>
+			<else>
+				<echo>Skipping compilation of ${project.name}</echo>
+			</else>
+		</if>
+	</target>
+
+
+
+	<!--
+		Drives the named projects build process
+		Not particularly useful if called directly
+		if project is missing then build fails 
+		-->
+	<target name="compile-required-project">
+		<if>
+			<available file="${workspace}/${project.name}/build.xml" />
+
+			<then>
+				<ant antfile="${workspace}/${project.name}/build.xml" inheritall="no" />
+			</then>
+			<else>
+				<fail>Missing project ${project.name}</fail>
+			</else>
+		</if>
+	</target>
+
+	<target name="package-dtfj">
+
+		<!-- package DTFJ code -->
+		<echo>Packaging DTFJ to ${major.jarfile}</echo>
+		<jar jarfile="${major.jarfile}" filesonly="true" filesetmanifest="merge" duplicate="fail"  >
+			<zipfileset src="${components}/com.ibm.dtfj.api/dist/com.ibm.dtfj.api.jar" />
+			
+		</jar>
+
+	</target>
+
+	<target name="package-tck">
+
+		<!-- package TCK code -->
+
+		<jar jarfile="${tck.jarfile}" filesonly="true" duplicate="fail">
+			<zipfileset src="${components}/com.ibm.dtfj.tck.harness/dist/com.ibm.dtfj.tck.harness.jar" />
+		</jar>
+
+	</target>
+	<target name="package">
+
+		<mkdir dir="${major.dist}" />
+		<mkdir dir="${major.dist.support}" />
+
+		<antcall target="package-dtfj" />
+
+		<!-- emmarise dtfj -->
+		<mkdir dir="${emma.metadata.dir}" />
+
+		<copyfile dest="${major.emma.jarfile}" src="${major.jarfile}" />
+		<emma>
+			<instr verbosity="verbose" instrpath="${major.emma.jarfile}" metadatafile="${emma.metadata.dir}/metadata.emma" mode="overwrite">
+				<filter excludes="*Test*" />
+				<filter excludes="*Effigy*" />
+			</instr>
+		</emma>
+
+		<antcall target="package-tck" />
+		<antcall target="package-tck-tests" />
+
+		<antcall target="package-tck-ship" />
+
+
+	</target>
+
+
+	<!--
+	Packages up all the parts that need to be shipped to allow the tck to be 
+	run on a remote system stand-alone
+	 
+	-->
+
+	<target name="package-tck-ship">
+
+		<delete file="${tck.ship.zip}" />
+		<delete file="${tck.ship.jar}" />
+		<delete file="${tck.ship.tar}" />
+		<delete file="${tck.ship.gz}" />
+
+		<zip destfile="${tck.ship.zip}">
+			<fileset dir="${major.dist.support}">
+				<exclude name="*.zip" />
+				<exclude name="*.gz" />
+			</fileset>
+			<fileset dir="${lib}" />
+		</zip>
+
+		<tar destfile="${tck.ship.tar}">
+			<fileset dir="${major.dist.support}">
+				<exclude name="*.zip" />
+				<exclude name="*.tar" />
+				<exclude name="*.gz" />
+			</fileset>
+			<fileset dir="${lib}" />
+		</tar>
+		<gzip destfile="${tck.ship.gz}">
+			<fileset file="${tck.ship.tar}" />
+		</gzip>
+
+		<jar destfile="${tck.ship.jar}">
+			<fileset dir="${major.dist.support}">
+				<exclude name="*.zip" />
+				<exclude name="*.gz" />
+			</fileset>
+			<fileset dir="${lib}" />
+		</jar>
+	</target>
+
+
+	<target name="package-tck-tests">
+
+		<!-- package TCK tests -->
+
+		<jar jarfile="${tck.tests.jarfile}" filesonly="true" duplicate="fail">
+			<zipfileset src="${components}/com.ibm.dtfj.tck.tests/dist/com.ibm.dtfj.tck.tests.jar" />
+		</jar>
+
+	</target>
+
+
+
+	<target name="run-junit" unless="no.test">
+		<!-- run the testcases -->
+		<mkdir dir="${junit.output}" />
+
+		<junit>
+			<classpath>
+				<pathelement location="${major.emma.jarfile}" />
+				<pathelement location="${tck.jarfile}" />
+				<pathelement location="${tck.tests.jarfile}" />
+				<pathelement location="${junit.path}" />
+				<pathelement location="${emma.path}" />
+			</classpath>
+
+			<jvmarg value="-Demma.coverage.out.file=${emma.metadata.dir}/coverage.emma" />
+			<jvmarg value="-Demma.coverage.out.merge=true" />
+
+			<formatter type="xml" extension=".${run-vendor}.${run-vm}.${run-version}.${run-type}.xml" />
+
+			<batchtest fork="yes" filtertrace="on" todir="${junit.output}">
+
+				<zipfileset src="${tck.tests.jarfile}">
+					<exclude name="**/*$*" />
+					<exclude name="**/AllTests*" />
+					<exclude name="**/Abstract*" />
+					<exclude name="**/DTFJImageLoader*" />
+					<exclude name="**/TestNotImplementedException*" />
+				</zipfileset>
+			</batchtest>
+
+		</junit>
+
+
+		<replace dir="${junit.output}" token="classname=&quot;" value="classname=&quot;${run-vendor}.${run-vm}.${run-version}.${run-type}." includes="*.${run-vendor}.${run-vm}.${run-version}.${run-type}.xml" />
+
+
+	</target>
+	<target name="create-dump">
+
+		<echo>TCK Dump Create: Vendor=${run-vendor} JVM=${run-vm} Version=${run-version} Testarea=${run-type}</echo>
+
+		<java fork="true" classname="com.ibm.dtfj.tck.harness.TCKLauncher" failonerror="true">
+
+
+			<jvmarg value="-Dtck.setup.only=true" />
+			<jvmarg value="-Dversion=${run-version}" />
+			<jvmarg value="-Dvmtype=${run-vm}" />
+			<jvmarg value="-Dvendor=${run-vendor}" />
+			<jvmarg value="-Dtck.testcases.type=${run-type}" />
+
+
+			<classpath>
+				<pathelement location="${major.emma.jarfile}" />
+				<pathelement location="${tck.jarfile}" />
+				<pathelement location="${junit.path}" />
+			</classpath>
+
+		</java>
+
+	</target>
+	<target name="javadoc" unless="no.javadoc">
+	</target>
+</project>