Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/releng
diff options
context:
space:
mode:
authorDoug Schaefer2004-03-04 20:26:04 +0000
committerDoug Schaefer2004-03-04 20:26:04 +0000
commit5d81e1cdf14e5d2bee649608477e05a71c3be543 (patch)
tree096ad66c595767220c7b2c9111e6b815688b2ce2 /releng
parent4c9d0ef2a3fbc52750f8ae7d34fbcda2461185b8 (diff)
downloadorg.eclipse.cdt-5d81e1cdf14e5d2bee649608477e05a71c3be543.tar.gz
org.eclipse.cdt-5d81e1cdf14e5d2bee649608477e05a71c3be543.tar.xz
org.eclipse.cdt-5d81e1cdf14e5d2bee649608477e05a71c3be543.zip
New build scripts.
Diffstat (limited to 'releng')
-rw-r--r--releng/org.eclipse.cdt.releng/.cvsignore14
-rw-r--r--releng/org.eclipse.cdt.releng/build.sh14
-rw-r--r--releng/org.eclipse.cdt.releng/build.xml200
-rw-r--r--releng/org.eclipse.cdt.releng/builders/build.properties81
-rw-r--r--releng/org.eclipse.cdt.releng/builders/customTargets.xml138
-rw-r--r--releng/org.eclipse.cdt.releng/genscripts.xsl19
-rw-r--r--releng/org.eclipse.cdt.releng/index.xsl67
-rw-r--r--releng/org.eclipse.cdt.releng/junit.xsl455
-rw-r--r--releng/org.eclipse.cdt.releng/main.xsl289
-rw-r--r--releng/org.eclipse.cdt.releng/manifest.xml43
-rw-r--r--releng/org.eclipse.cdt.releng/maps/cdt.map38
-rw-r--r--releng/org.eclipse.cdt.releng/message.txt6
-rw-r--r--releng/org.eclipse.cdt.releng/platform/build.properties87
-rw-r--r--releng/org.eclipse.cdt.releng/platform/customTargets.xml150
-rw-r--r--releng/org.eclipse.cdt.releng/plugin.xsl2
-rw-r--r--releng/org.eclipse.cdt.releng/site.xsl115
-rw-r--r--releng/org.eclipse.cdt.releng/testReport.xsl62
17 files changed, 746 insertions, 1034 deletions
diff --git a/releng/org.eclipse.cdt.releng/.cvsignore b/releng/org.eclipse.cdt.releng/.cvsignore
deleted file mode 100644
index ba2a8cd0dff..00000000000
--- a/releng/org.eclipse.cdt.releng/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-build
-features
-jars
-logs
-plugins
-test
-zips
-build.log
-build.number
-index.html
-main.xml
-site.xml
-dist
-host
diff --git a/releng/org.eclipse.cdt.releng/build.sh b/releng/org.eclipse.cdt.releng/build.sh
index b1120d40838..0e5b70f6e07 100644
--- a/releng/org.eclipse.cdt.releng/build.sh
+++ b/releng/org.eclipse.cdt.releng/build.sh
@@ -1 +1,13 @@
-java -classpath $JAVA_HOME/lib/tools.jar:jars/ant.jar:jars/optional.jar:jars/xalan.jar:jars/xml-apis.jar:jars/xercesImpl.jar:jars/NetComponents.jar:jars/activation.jar:jars/mail.jar org.apache.tools.ant.Main $* 2>&1 | tee build.log
+# Treat this is an example build script
+# Please adjust paths as necessary for your build machine
+
+export JAVA_HOME=/opt/java/j2sdk1.4.2_03
+export PATH=$JAVA_HOME/bin:$PATH
+
+cd `dirname $0`
+
+rm -fr results
+
+java -cp eclipse/startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner $* \
+ -DbaseLocation=$PWD/eclipse \
+ -DbuildDirectory=$PWD/results
diff --git a/releng/org.eclipse.cdt.releng/build.xml b/releng/org.eclipse.cdt.releng/build.xml
index e6b86a9b455..6da7ec7a885 100644
--- a/releng/org.eclipse.cdt.releng/build.xml
+++ b/releng/org.eclipse.cdt.releng/build.xml
@@ -1,36 +1,184 @@
-<?xml version="1.0"?>
-<project name="CDT Build Bootstrap" default="main">
+<project default="build">
- <property name="build.branch" value="2.0"/>
- <property name="build.tag" value="HEAD"/>
+ <target name="build" depends="zips,test"/>
- <property name="build.server" value="update.eclipse.org"/>
- <property name="build.remotedir" value="/home/www/tools/cdt/updates/builds/${build.branch}"/>
- <!--property name="build.userid" value="userid on server"/-->
- <!--property name="build.password" value="password on server"/-->
-
- <target name="bootstrap">
- <xslt in="manifest.xml" out="main.xml" style="main.xsl"/>
- </target>
+ <target name="fullbuild" depends="build,updateSite"/>
+
+ <target name="init">
+ <tstamp/>
+ <touch file="${user.home}/.cvspass" />
+ <property name="timestamp" value="${DSTAMP}${TSTAMP}" />
+ <property name="pde.build.scripts" value="../../plugins/org.eclipse.pde.build_3.0.0/scripts" />
+ <property name="eclipseZip" value="../../eclipse-SDK.zip"/>
+ <property name="testZip" value="../org.eclipse.test/org.eclipse.test_2.1.0.zip"/>
+ <property name="buildDirectory" value="results" />
+ <property name="bootclasspath" value="${java.home}/lib/rt.jar" />
+ <property name="rt" value="${java.home}/lib/rt.jar" />
+ <property name="buildType" value="I" />
+ <property name="buildId" value="${buildType}${timestamp}"/>
+ </target>
- <target name="main" depends="bootstrap">
- <ant antfile="main.xml"/>
- </target>
+ <target name="zips" depends="init">
+ <unzip src="${eclipseZip}" dest="${basedir}"/>
+ <ant antfile="build.xml" dir="${pde.build.scripts}">
+ <property name="builder" value="${basedir}/platform" />
+ </ant>
+ <ant antfile="build.xml" dir="${pde.build.scripts}">
+ <property name="builder" value="${basedir}/builders" />
+ </ant>
+ </target>
- <target name="build" depends="bootstrap">
- <ant antfile="main.xml" target="build"/>
- </target>
+ <target name="test" depends="init">
+ <delete dir="${buildDirectory}/tests"/>
+ </target>
- <target name="test" depends="bootstrap">
- <ant antfile="main.xml" target="test"/>
+ <target name="updateSite" depends="init">
+ <property name="siteurl" value="http://update.eclipse.org/tools/cdt/updates/builds/2.0"/>
+ <property name="zipsdir" value="${buildDirectory}/${buildType}.${buildId}"/>
+ <property name="sitedir" value="${zipsdir}/build.site"/>
+ <property name="siteversion" value="2.0.0"/>
+ <mkdir dir="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-aix.motif.ppc.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-linux.gtk.x86.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-linux.motif.x86.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-qnx.photon.x86.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-solaris.motif.sparc.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-win32.win32.x86.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt.make-${buildId}.zip" dest="${sitedir}"/>
+ <unzip src="${zipsdir}/org.eclipse.cdt.managedbuilder-${buildId}.zip" dest="${sitedir}"/>
+ <antcall target="allElements">
+ <param name="target" value="updateVersions"/>
+ </antcall>
+ <antcall target="allElements">
+ <param name="target" value="updateJars"/>
+ </antcall>
+ <get src="${siteurl}/site.xml" dest="${sitedir}/site.xml"/>
+ <get src="${siteurl}/index.html" dest="${sitedir}/site.xml"/>
+ <xslt style="site.xsl" in="${siteurl}/site.xml" out="x">
+ <param name="version" expression="${siteversion}.${timestamp}"/>
+ </xslt>
+ <move file="x" tofile="${siteurl}/site.xml"/>
</target>
- <target name="upload" depends="bootstrap">
- <ant antfile="main.xml" target="upload"/>
- </target>
+ <target name="updateVersions">
+ <xslt style="plugin.xsl" in="${sitedir}/eclipse/${dir}/${id}_${siteversion}/${type}.xml" out="x">
+ <param name="version" expression="${siteversion}.${timestamp}"/>
+ </xslt>
+ <move file="x" tofile="${sitedir}/eclipse/${dir}/${id}_${siteversion}/${type}.xml"/>
+ </target>
- <target name="mail" depends="bootstrap">
- <ant antfile="main.xml" target="mail"/>
- </target>
+ <target name="updateJars">
+ <mkdir dir="${sitedir}/${dir}"/>
+ <jar basedir="${sitedir}/eclipse/${dir}/${id}_${siteversion}"
+ destfile="${sitedir}/${dir}/${id}_${siteversion}.${timestamp}.jar"/>
+ </target>
+
+ <target name="allElements">
+ <antcall target="${target}">
+ <param name="type" value="feature"/>
+ <param name="dir" value="features"/>
+ <param name="id" value="org.eclipse.cdt"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="feature"/>
+ <param name="dir" value="features"/>
+ <param name="id" value="org.eclipse.cdt.make"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="feature"/>
+ <param name="dir" value="features"/>
+ <param name="id" value="org.eclipse.cdt.managedbuilder"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="fragment"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core.aix"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="fragment"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core.linux"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="fragment"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core.qnx"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="fragment"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core.solaris"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="fragment"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.core.win32"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.debug.core"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.debug.mi.core"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.debug.mi.ui"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.debug.ui"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.doc.user"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.launch"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.make.core"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.make.ui"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.managedbuilder.core"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.managedbuilder.ui"/>
+ </antcall>
+ <antcall target="${target}">
+ <param name="type" value="plugin"/>
+ <param name="dir" value="plugins"/>
+ <param name="id" value="org.eclipse.cdt.ui"/>
+ </antcall>
+ </target>
</project>
diff --git a/releng/org.eclipse.cdt.releng/builders/build.properties b/releng/org.eclipse.cdt.releng/builders/build.properties
new file mode 100644
index 00000000000..aa12a1152a4
--- /dev/null
+++ b/releng/org.eclipse.cdt.releng/builders/build.properties
@@ -0,0 +1,81 @@
+#####################
+# Parameters describing how and where to execute the build.
+# Typical users need only update the following properties:
+# baseLocation - where things you are building against are installed
+# bootclasspath - The base jars to compile against (typicaly rt.jar)
+# configs - the list of {os, ws, arch} configurations to build.
+#
+# Of course any of the settings here can be overridden by spec'ing
+# them on the command line (e.g., -DbaseLocation=d:/eclipse
+
+############# CVS CONTROL ################
+# The CVS tag to use when fetching the map files from the repository
+mapVersionTag=HEAD
+
+# The CVS tag to use when fetching elements to build. By default the
+# builder will use whatever is in the maps. Use this value to override
+# for example, when doing a nightly build out of HEAD
+# fetchTag=HEAD
+
+
+############## BUILD / GENERATION CONTROL ################
+# The directory into which the build elements will be fetched and where
+# the build will take place. buildDirectory and install should be the same
+# value.
+buildDirectory=build
+
+# Type of build. Used in naming the build output. Typically this value is
+# one of I, N, M, S, ...
+buildType=I
+
+# ID of the build. Used in naming the build output.
+buildId=TestBuild
+
+# Label for the build. Used in naming the build output
+buildLabel=${buildType}.${buildId}
+
+# Timestamp for the build. Used in naming the build output
+timestamp=007
+
+# Base location for anything the build needs to compile against. For example,
+# when building GEF, the baseLocation should be the location of a previously
+# installed Eclipse against which the GEF code will be compiled.
+baseLocation=
+
+#Os/Ws/Arch/nl of the eclipse specified by baseLocation
+#baseos
+#basews
+#basearch
+#basenl
+
+# The location underwhich all of the build output will be collected. This will be
+# the root path in the resultant zip file.
+collPlace=eclipse
+
+# The directory in which to execute zip of the ${collPlace} directory
+collBase=.
+
+# The list of {os, ws, arch} configurations to build. This
+# value is a '&' separated list of ',' separate triples. For example,
+# configs=win32,win32,x86 & linux,motif,x86
+# By default the value is *,*,*
+configs=*,*,*
+
+#Arguments to send to the zip executable
+zipargs=
+
+############# JAVA COMPILER OPTIONS ##############
+# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
+#bootclasspath=d:/ibm1.3.1/jre/lib/rt.jar
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=false
+
+# Whether or not to fail the build if there are compiler errors
+javacfailonerror=true
+
+# The version of the source code
+#javaSource=1.3
+
+# The version of the byte code targeted
+#javacTarget=1.1
diff --git a/releng/org.eclipse.cdt.releng/builders/customTargets.xml b/releng/org.eclipse.cdt.releng/builders/customTargets.xml
new file mode 100644
index 00000000000..a93e269461b
--- /dev/null
+++ b/releng/org.eclipse.cdt.releng/builders/customTargets.xml
@@ -0,0 +1,138 @@
+<project name="Build specific targets and properties" default="noDefault" >
+
+<property name="basews" value="gtk" />
+<property name="baseos" value="linux" />
+<property name="basearch" value="x86" />
+<property name="basenl" value="en_US" />
+
+<!-- ===================================================================== -->
+<!-- Run a given ${target} on all elements being built -->
+<!-- Add on <ant> task for each top level element being built. -->
+<!-- ===================================================================== -->
+<target name="allElements">
+ <ant antfile="${genericTargets}" target="${target}" >
+ <property name="type" value="feature" />
+ <property name="id" value="org.eclipse.cdt.make" />
+ </ant>
+ <ant antfile="${genericTargets}" target="${target}" >
+ <property name="type" value="feature" />
+ <property name="id" value="org.eclipse.cdt.managedbuilder" />
+ </ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Targets to assemble the built elements for particular configurations -->
+<!-- These generally call the generated assemble scripts (named in -->
+<!-- ${assembleScriptName}) but may also add pre and post processing -->
+<!-- Add one target for each root element and each configuration -->
+<!-- ===================================================================== -->
+
+<target name="assemble.org.eclipse.cdt.make">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.managedbuilder">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Check out map files from correct repository -->
+<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
+<!-- ===================================================================== -->
+<target name="getMapFiles">
+ <copy todir="${buildDirectory}/maps">
+ <fileset dir="${builder}/../maps"/>
+ </copy>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before setup -->
+<!-- ===================================================================== -->
+<target name="preSetup">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after setup but before starting the build proper -->
+<!-- ===================================================================== -->
+<target name="postSetup">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before fetching the build elements -->
+<!-- ===================================================================== -->
+<target name="preFetch">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after fetching the build elements -->
+<!-- ===================================================================== -->
+<target name="postFetch">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before generating the build scripts. -->
+<!-- ===================================================================== -->
+<target name="preGenerate">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after generating the build scripts. -->
+<!-- ===================================================================== -->
+<target name="postGenerate">
+</target>
+
+
+<!-- ===================================================================== -->
+<!-- Steps to do before running the build.xmls for the elements being built. -->
+<!-- ===================================================================== -->
+<target name="preProcess">
+ <replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@build@">
+ <include name="**/about.mappings" />
+ </replace>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running the build.xmls for the elements being built. -->
+<!-- ===================================================================== -->
+<target name="postProcess">
+</target>
+
+
+<!-- ===================================================================== -->
+<!-- Steps to do before running assemble. -->
+<!-- ===================================================================== -->
+<target name="preAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running assemble. -->
+<!-- ===================================================================== -->
+<target name="postAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after the build is done. -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do to test the build results -->
+<!-- ===================================================================== -->
+<target name="test">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do to publish the build results -->
+<!-- ===================================================================== -->
+<target name="publish">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Default target -->
+<!-- ===================================================================== -->
+<target name="noDefault">
+ <echo message="You must specify a target when invoking this file" />
+</target>
+
+</project>
diff --git a/releng/org.eclipse.cdt.releng/genscripts.xsl b/releng/org.eclipse.cdt.releng/genscripts.xsl
deleted file mode 100644
index 15a187fa88c..00000000000
--- a/releng/org.eclipse.cdt.releng/genscripts.xsl
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:template match="/">
- <project name="CDT Build Generate Scripts" default="all">
- <target name="all">
- <xsl:for-each select="projects/feature">
- <eclipse.buildScript install="build">
- <xsl:attribute name="elements">
- <xsl:text>feature@</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- </eclipse.buildScript>
- </xsl:for-each>
- </target>
- </project>
- </xsl:template>
-
-</xsl:transform>
diff --git a/releng/org.eclipse.cdt.releng/index.xsl b/releng/org.eclipse.cdt.releng/index.xsl
deleted file mode 100644
index 8c4cef49685..00000000000
--- a/releng/org.eclipse.cdt.releng/index.xsl
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="html" indent="yes"/>
-
- <xsl:template match="/">
- <html>
- <head>
- <title>CDT 2.0 Build Page</title>
- </head>
- <body>
- <h2>CDT 2.0 Build Page</h2>
- <p>
- The nightly builds are currently run twice a week
- Monday and Thursday at 3:00 a.m. EDT/EST.
-
- To get download and install the builds, add the following
- as a site bookmark in Eclipse's Update Manager perspective:
- </p>
- <p>
- http://update.eclipse.org/tools/cdt/updates/builds/2.0
- </p>
- <p>
- There is one category for each build. Expanding the
- category will reveal the installable features.
- Currently the following features are available:
- <ul>
- <li>
- the main CDT feature for the currently running platform
- </li>
- <li>
- the CDT Source feature which supplies the source to allow
- debugging of the CDT plugins.
- </li>
- </ul>
- </p>
- <h3>Builds</h3>
- <p>
- The reports from the automated build verification test suites
- are linked below.
- </p>
- <ul>
- <xsl:apply-templates select="site/category-def"/>
- </ul>
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="category-def">
- <li>
- <xsl:value-of select="@label"/>
- <ul>
- <li>
- <a>
- <xsl:attribute name="href">
- <xsl:text>logs/</xsl:text>
- <xsl:value-of select="substring-after(@name,'CDT Build ')"/>
- <xsl:text>/org.eclipse.cdt.core.tests.xml</xsl:text>
- </xsl:attribute>
- org.eclipse.cdt.core.tests
- </a>
- </li>
- </ul>
- </li>
- </xsl:template>
-
-</xsl:transform>
diff --git a/releng/org.eclipse.cdt.releng/junit.xsl b/releng/org.eclipse.cdt.releng/junit.xsl
deleted file mode 100644
index a7dd9abed93..00000000000
--- a/releng/org.eclipse.cdt.releng/junit.xsl
+++ /dev/null
@@ -1,455 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:output method="html" indent="yes"/>
-<xsl:decimal-format decimal-separator="." grouping-separator="," />
-
-<xsl:template match="testsuites">
- <HTML>
- <HEAD>
- <style type="text/css">
- body {
- font:normal 68% verdana,arial,helvetica;
- color:#000000;
- }
- table tr td, table tr th {
- font-size: 68%;
- }
- table.details tr th{
- font-weight: bold;
- text-align:left;
- background:#a6caf0;
- }
- table.details tr td{
- background:#eeeee0;
- }
-
- p {
- line-height:1.5em;
- margin-top:0.5em; margin-bottom:1.0em;
- }
- h1 {
- margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
- }
- h2 {
- margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
- }
- h3 {
- margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
- }
- h4 {
- margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
- }
- h5 {
- margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
- }
- h6 {
- margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
- }
- .Error {
- font-weight:bold; color:red;
- }
- .Failure {
- font-weight:bold; color:purple;
- }
- .Properties {
- text-align:right;
- }
- </style>
- <script language="JavaScript">
- var TestCases = new Array();
- var cur;
- <xsl:for-each select="./testsuite">
- <xsl:apply-templates select="properties"/>
- </xsl:for-each>
-
- </script>
- <script language="JavaScript"><![CDATA[
- function displayProperties (name) {
- var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
- var doc = win.document.open();
- doc.write("<html><head><title>Properties of " + name + "</title>");
- doc.write("<style>")
- doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
- doc.write("table tr td, table tr th { font-size: 68%; }");
- doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
- doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
- doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
- doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
- doc.write("</style>");
- doc.write("</head><body>");
- doc.write("<h3>Properties of " + name + "</h3>");
- doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
- doc.write("<table class='properties'>");
- doc.write("<tr><th>Name</th><th>Value</th></tr>");
- for (prop in TestCases[name]) {
- doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
- }
- doc.write("</table>");
- doc.write("</body></html>");
- doc.close();
- win.focus();
- }
- ]]>
- </script>
- </HEAD>
- <body>
- <a name="#top"></a>
- <xsl:call-template name="pageHeader"/>
-
- <!-- Summary part -->
- <xsl:call-template name="summary"/>
- <hr size="1" width="95%" align="left"/>
-
- <!-- Package List part -->
- <xsl:call-template name="packagelist"/>
- <hr size="1" width="95%" align="left"/>
-
- <!-- For each package create its part -->
- <xsl:call-template name="packages"/>
- <hr size="1" width="95%" align="left"/>
-
- <!-- For each class create the part -->
- <xsl:call-template name="classes"/>
-
- </body>
- </HTML>
-</xsl:template>
-
-
-
- <!-- ================================================================== -->
- <!-- Write a list of all packages with an hyperlink to the anchor of -->
- <!-- of the package name. -->
- <!-- ================================================================== -->
- <xsl:template name="packagelist">
- <h2>Packages</h2>
- Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
- <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
- <xsl:call-template name="testsuite.test.header"/>
- <!-- list all packages recursively -->
- <xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
- <xsl:sort select="@package"/>
- <xsl:variable name="testsuites-in-package" select="/testsuites/testsuite[./@package = current()/@package]"/>
- <xsl:variable name="testCount" select="sum($testsuites-in-package/@tests)"/>
- <xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/>
- <xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/>
- <xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/>
-
- <!-- write a summary for the package -->
- <tr valign="top">
- <!-- set a nice color depending if there is an error/failure -->
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
- <xsl:when test="$errorCount &gt; 0">Error</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <td><a href="#{@package}"><xsl:value-of select="@package"/></a></td>
- <td><xsl:value-of select="$testCount"/></td>
- <td><xsl:value-of select="$errorCount"/></td>
- <td><xsl:value-of select="$failureCount"/></td>
- <td>
- <xsl:call-template name="display-time">
- <xsl:with-param name="value" select="$timeCount"/>
- </xsl:call-template>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </xsl:template>
-
-
- <!-- ================================================================== -->
- <!-- Write a package level report -->
- <!-- It creates a table with values from the document: -->
- <!-- Name | Tests | Errors | Failures | Time -->
- <!-- ================================================================== -->
- <xsl:template name="packages">
- <!-- create an anchor to this package name -->
- <xsl:for-each select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
- <xsl:sort select="@package"/>
- <a name="#{@package}"></a>
- <h3>Package <xsl:value-of select="@package"/></h3>
-
- <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
- <xsl:call-template name="testsuite.test.header"/>
-
- <!-- match the testsuites of this package -->
- <xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/>
- </table>
- <a href="#top">Back to top</a>
- <p/>
- <p/>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="classes">
- <xsl:for-each select="testsuite">
- <xsl:sort select="@name"/>
- <!-- create an anchor to this class name -->
- <a name="#{@name}"></a>
- <h3>TestCase <xsl:value-of select="@name"/></h3>
-
- <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
- <xsl:call-template name="testcase.test.header"/>
- <!--
- test can even not be started at all (failure to load the class)
- so report the error directly
- -->
- <xsl:if test="./error">
- <tr class="Error">
- <td colspan="4"><xsl:apply-templates select="./error"/></td>
- </tr>
- </xsl:if>
- <xsl:apply-templates select="./testcase" mode="print.test"/>
- </table>
- <div class="Properties">
- <a>
- <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
- Properties &gt;&gt;
- </a>
- </div>
- <p/>
-
- <a href="#top">Back to top</a>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="summary">
- <h2>Summary</h2>
- <xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
- <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
- <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
- <xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
- <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
- <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
- <tr valign="top">
- <th>Tests</th>
- <th>Failures</th>
- <th>Errors</th>
- <th>Success rate</th>
- <th>Time</th>
- </tr>
- <tr valign="top">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
- <xsl:when test="$errorCount &gt; 0">Error</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <td><xsl:value-of select="$testCount"/></td>
- <td><xsl:value-of select="$failureCount"/></td>
- <td><xsl:value-of select="$errorCount"/></td>
- <td>
- <xsl:call-template name="display-percent">
- <xsl:with-param name="value" select="$successRate"/>
- </xsl:call-template>
- </td>
- <td>
- <xsl:call-template name="display-time">
- <xsl:with-param name="value" select="$timeCount"/>
- </xsl:call-template>
- </td>
-
- </tr>
- </table>
- <table border="0" width="95%">
- <tr>
- <td style="text-align: justify;">
- Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <!--
- Write properties into a JavaScript data structure.
- This is based on the original idea by Erik Hatcher (erik@hatcher.net)
- -->
- <xsl:template match="properties">
- cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
- <xsl:for-each select="property">
- <xsl:sort select="@name"/>
- cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
- </xsl:for-each>
- </xsl:template>
-
-<!-- Page HEADER -->
-<xsl:template name="pageHeader">
- <h1>Unit Test Results</h1>
- <table width="100%">
- <tr>
- <td align="left"></td>
- <td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://jakarta.apache.org/ant'>Ant</a>.</td>
- </tr>
- </table>
- <hr size="1"/>
-</xsl:template>
-
-<xsl:template match="testsuite" mode="header">
- <tr valign="top">
- <th width="80%">Name</th>
- <th>Tests</th>
- <th>Errors</th>
- <th>Failures</th>
- <th nowrap="nowrap">Time(s)</th>
- </tr>
-</xsl:template>
-
-<!-- class header -->
-<xsl:template name="testsuite.test.header">
- <tr valign="top">
- <th width="80%">Name</th>
- <th>Tests</th>
- <th>Errors</th>
- <th>Failures</th>
- <th nowrap="nowrap">Time(s)</th>
- </tr>
-</xsl:template>
-
-<!-- method header -->
-<xsl:template name="testcase.test.header">
- <tr valign="top">
- <th>Name</th>
- <th>Status</th>
- <th width="80%">Type</th>
- <th nowrap="nowrap">Time(s)</th>
- </tr>
-</xsl:template>
-
-
-<!-- class information -->
-<xsl:template match="testsuite" mode="print.test">
- <tr valign="top">
- <!-- set a nice color depending if there is an error/failure -->
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
- <xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
- </xsl:choose>
- </xsl:attribute>
-
- <!-- print testsuite information -->
- <td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
- <td><xsl:value-of select="@tests"/></td>
- <td><xsl:value-of select="@errors"/></td>
- <td><xsl:value-of select="@failures"/></td>
- <td>
- <xsl:call-template name="display-time">
- <xsl:with-param name="value" select="@time"/>
- </xsl:call-template>
- </td>
- </tr>
-</xsl:template>
-
-<xsl:template match="testcase" mode="print.test">
- <tr valign="top">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="failure | error">Error</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <td><xsl:value-of select="@name"/></td>
- <xsl:choose>
- <xsl:when test="failure">
- <td>Failure</td>
- <td><xsl:apply-templates select="failure"/></td>
- </xsl:when>
- <xsl:when test="error">
- <td>Error</td>
- <td><xsl:apply-templates select="error"/></td>
- </xsl:when>
- <xsl:otherwise>
- <td>Success</td>
- <td></td>
- </xsl:otherwise>
- </xsl:choose>
- <td>
- <xsl:call-template name="display-time">
- <xsl:with-param name="value" select="@time"/>
- </xsl:call-template>
- </td>
- </tr>
-</xsl:template>
-
-
-<xsl:template match="failure">
- <xsl:call-template name="display-failures"/>
-</xsl:template>
-
-<xsl:template match="error">
- <xsl:call-template name="display-failures"/>
-</xsl:template>
-
-<!-- Style for the error and failure in the tescase template -->
-<xsl:template name="display-failures">
- <xsl:choose>
- <xsl:when test="not(@message)">N/A</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@message"/>
- </xsl:otherwise>
- </xsl:choose>
- <!-- display the stacktrace -->
- <code>
- <p/>
- <xsl:call-template name="br-replace">
- <xsl:with-param name="word" select="."/>
- </xsl:call-template>
- </code>
- <!-- the later is better but might be problematic for non-21" monitors... -->
- <!--pre><xsl:value-of select="."/></pre-->
-</xsl:template>
-
-<xsl:template name="JS-escape">
- <xsl:param name="string"/>
- <xsl:choose><!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
- <xsl:when test="contains($string,'&apos;')">
- <xsl:value-of select="substring-before($string,'&apos;')"/>
- \&apos;
- <xsl:call-template name="JS-escape">
- <xsl:with-param name="string" select="substring-after($string,'&apos;')"/>
- </xsl:call-template>
- </xsl:when> -->
- <xsl:when test="contains($string,'\')">
- <xsl:value-of select="substring-before($string,'\')"/>\\<xsl:call-template name="JS-escape">
- <xsl:with-param name="string" select="substring-after($string,'\')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$string"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!--
- template that will convert a carriage return into a br tag
- @param word the text from which to convert CR to BR tag
--->
-<xsl:template name="br-replace">
- <xsl:param name="word"/>
- <xsl:choose>
- <xsl:when test="contains($word,'&#xA;')">
- <xsl:value-of select="substring-before($word,'&#xA;')"/>
- <br/>
- <xsl:call-template name="br-replace">
- <xsl:with-param name="word" select="substring-after($word,'&#xA;')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$word"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="display-time">
- <xsl:param name="value"/>
- <xsl:value-of select="format-number($value,'0.000')"/>
-</xsl:template>
-
-<xsl:template name="display-percent">
- <xsl:param name="value"/>
- <xsl:value-of select="format-number($value,'0.00%')"/>
-</xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/releng/org.eclipse.cdt.releng/main.xsl b/releng/org.eclipse.cdt.releng/main.xsl
deleted file mode 100644
index d6d54fc9330..00000000000
--- a/releng/org.eclipse.cdt.releng/main.xsl
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output indent="yes"/>
-
- <xsl:template match="/">
- <project name="CDT Build Main" default="all">
-
- <target name="build">
-
- <!-- Set up build environment -->
- <ftp server="${{build.server}}"
- userid="${{build.userid}}" password="${{build.password}}"
- remotedir="${{build.remotedir}}" action="get" passive="no">
- <fileset dir=".">
- <include name="site.xml"/>
- <include name="build.number"/>
- </fileset>
- </ftp>
- <propertyfile file="build.number">
- <entry key="build.number" type="int" default="0" operation="+" pattern="0000"/>
- </propertyfile>
- <property file="build.number"/>
- <echo message="Build number: ${{build.version}}.${{build.number}}"/>
- <delete dir="build"/>
- <unzip src="zips/eclipse-SDK.zip" dest="."/>
- <move todir="build">
- <fileset dir="eclipse"/>
- </move>
-
- <!-- Download source from CVS -->
- <xsl:for-each select="projects/plugin">
- <cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/home/tools" dest="build/plugins" quiet="true" tag="${{build.tag}}">
- <xsl:attribute name="package">
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- </cvs>
- </xsl:for-each>
-
- <xsl:for-each select="projects/feature">
- <cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/home/tools" dest="build/features" quiet="true" tag="${{build.tag}}">
- <xsl:attribute name="package">
- <xsl:value-of select="@name"/>
- <xsl:text>-feature</xsl:text>
- </xsl:attribute>
- </cvs>
- <move>
- <xsl:attribute name="todir">
- <xsl:text>build/features/</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <fileset defaultexcludes="no">
- <xsl:attribute name="dir">
- <xsl:text>build/features/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>-feature</xsl:text>
- </xsl:attribute>
- </fileset>
- </move>
- </xsl:for-each>
-
- <!-- Fix up the versions to match build number -->
- <xsl:for-each select="projects/plugin|projects/feature">
- <xslt out="x" style="plugin.xsl">
- <xsl:attribute name="in">
- <xsl:text>build/</xsl:text>
- <xsl:value-of select="name()"/>
- <xsl:text>s/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>/</xsl:text>
- <xsl:value-of select="@type"/>
- <xsl:text>.xml</xsl:text>
- </xsl:attribute>
- <param name="version" expression="${{build.version}}.${{build.number}}"/>
- </xslt>
- <move file="x">
- <xsl:attribute name="tofile">
- <xsl:text>build/</xsl:text>
- <xsl:value-of select="name()"/>
- <xsl:text>s/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>/</xsl:text>
- <xsl:value-of select="@type"/>
- <xsl:text>.xml</xsl:text>
- </xsl:attribute>
- </move>
- </xsl:for-each>
-
- <!-- Prepare the source plugin -->
- <property name="source.plugin" value="org.eclipse.cdt.source"/>
- <replace
- file="build/plugins/${{source.plugin}}/build.properties"
- token="plugin.properties"
- value="plugin.properties,src/"/>
-
- <!-- Generate build.xml files for projects using the host eclipse -->
- <xslt in="manifest.xml" out="build/genscripts.xml" style="genscripts.xsl"/>
- <exec executable="${{basedir}}/host/eclipse">
- <arg line="-nosplash -data build/workspace"/>
- <arg line="-application org.eclipse.ant.core.antRunner"/>
- <arg line="-buildfile build/genscripts.xml"/>
- </exec>
-
- <!-- Run the build.xml scripts -->
- <xsl:for-each select="projects/plugin">
- <!-- Build the source jars -->
- <ant target="build.sources">
- <xsl:attribute name="dir">
- <xsl:text>build/plugins/</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <property name="javacFailOnError" value="true"/>
- <property name="ws" value="gtk"/>
- <property name="os" value="linux"/>
- </ant>
- <ant target="gather.sources">
- <xsl:attribute name="dir">
- <xsl:text>build/plugins/</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <property name="javacFailOnError" value="true"/>
- <property name="ws" value="gtk"/>
- <property name="os" value="linux"/>
- <property name="destination.temp.folder" value="../${{source.plugin}}/src"/>
- </ant>
- </xsl:for-each>
-
- <xsl:for-each select="projects/feature">
- <!-- The default to build the update jars -->
- <ant>
- <xsl:attribute name="dir">
- <xsl:text>build/features/</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <property name="javacFailOnError" value="true"/>
- <property name="ws" value="gtk"/>
- <property name="os" value="linux"/>
- </ant>
- <!-- The old style zips -->
- <ant target="zip.distribution">
- <xsl:attribute name="dir">
- <xsl:text>build/features/</xsl:text>
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <property name="javacFailOnError" value="true"/>
- <property name="ws" value="gtk"/>
- <property name="os" value="linux"/>
- </ant>
- </xsl:for-each>
-
- <!-- Move jars and zips to the update site format -->
- <delete dir="plugins"/>
- <copy todir="plugins" flatten="true">
- <fileset dir="build/plugins">
- <xsl:for-each select="projects/plugin">
- <include>
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- <xsl:text>/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_${build.version}.${build.number}.jar</xsl:text>
- </xsl:attribute>
- </include>
- </xsl:for-each>
- </fileset>
- </copy>
- <delete dir="features"/>
- <copy todir="features" flatten="true">
- <fileset dir="build/features">
- <xsl:for-each select="projects/feature">
- <include>
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- <xsl:text>/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_${build.version}.${build.number}.jar</xsl:text>
- </xsl:attribute>
- </include>
- </xsl:for-each>
- </fileset>
- </copy>
- <delete dir="dist"/>
- <copy todir="dist" flatten="true">
- <fileset dir="build/features">
- <xsl:for-each select="projects/feature">
- <include>
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- <xsl:text>/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_${build.version}.${build.number}.bin.dist.zip</xsl:text>
- </xsl:attribute>
- </include>
- </xsl:for-each>
- </fileset>
- </copy>
- </target>
-
- <target name="test">
- <property file="build.number"/>
-
- <!-- Set up the test environment -->
- <delete dir="test"/>
- <unzip src="zips/eclipse-SDK.zip" dest="."/>
- <move todir="test">
- <fileset dir="eclipse"/>
- </move>
-
- <xsl:for-each select="projects/plugin|projects/feature">
- <unjar>
- <xsl:attribute name="src">
- <xsl:value-of select="name()"/>
- <xsl:text>s/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_${build.version}.${build.number}.jar</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="dest">
- <xsl:text>test/</xsl:text>
- <xsl:value-of select="name()"/>
- <xsl:text>s/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_${build.version}.${build.number}</xsl:text>
- </xsl:attribute>
- </unjar>
- </xsl:for-each>
-
- <!-- Run the tests -->
- <chmod file="test/eclipse" perm="+x"/>
- <mkdir dir="logs/${{build.version}}.${{build.number}}"/>
- <exec executable="${{basedir}}/test/eclipse" dir="test">
- <arg line="-nosplash"/>
- <arg line="-application org.eclipse.cdt.core.tests.runTests"/>
- <arg line="-testout ../logs/${{build.version}}.${{build.number}}/org.eclipse.cdt.core.tests.xml"/>
- <arg line="-testreport ../../testReport.xsl"/>
- </exec>
-
- <!-- Add our version to site.xml -->
- <tstamp>
- <format property="build.date" pattern="EEE MMM d HH:mm:ss z yyyy"/>
- </tstamp>
- <xslt in="site.xml" out="s" style="site.xsl">
- <param name="version" expression="${{build.version}}.${{build.number}}"/>
- <param name="date" expression="${{build.date}}"/>
- </xslt>
- <move file="s" tofile="site.xml"/>
-
- <!-- Generate the site home page -->
- <xslt in="site.xml" out="index.html" style="index.xsl">
- <param name="branch" expression="${{build.branch}}"/>
- </xslt>
-
- </target>
-
- <target name="upload">
- <property file="build.number"/>
- <!-- Upload the update site -->
- <ftp server="${{build.server}}"
- userid="${{build.userid}}" password="${{build.password}}"
- remotedir="${{build.remotedir}}" action="put" passive="no">
- <fileset dir=".">
- <include name="plugins/*.jar"/>
- <include name="features/*.jar"/>
- <include name="dist/*.zip"/>
- <include name="logs/**/*.xml"/>
- <include name="build.number"/>
- <include name="index.html"/>
- <include name="site.xml"/>
- <include name="testReport.xsl"/>
- </fileset>
- </ftp>
- </target>
-
- <target name="mail">
- <property file="build.number"/>
- <mail from="dschaefe@ca.ibm.com"
- tolist="cdt-test-dev@eclipse.org"
- subject="CDT Build ${{build.version}}.${{build.number}} completed">
- <message src="message.txt"/>
- </mail>
- </target>
-
- <target name="all" depends="build,test,upload,mail"/>
- <!-- test removed since it doesn't work right now -->
-
- </project>
-
- </xsl:template>
-
-</xsl:transform>
diff --git a/releng/org.eclipse.cdt.releng/manifest.xml b/releng/org.eclipse.cdt.releng/manifest.xml
deleted file mode 100644
index 3dc4fa7545b..00000000000
--- a/releng/org.eclipse.cdt.releng/manifest.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projects>
- <plugin name="org.eclipse.cdt" type="plugin"/>
- <plugin name="org.eclipse.cdt.aix" type="plugin"/>
- <plugin name="org.eclipse.cdt.core" type="plugin"/>
- <plugin name="org.eclipse.cdt.core.aix" type="fragment"/>
- <plugin name="org.eclipse.cdt.core.linux" type="fragment"/>
- <plugin name="org.eclipse.cdt.core.qnx" type="fragment"/>
- <plugin name="org.eclipse.cdt.core.solaris" type="fragment"/>
- <plugin name="org.eclipse.cdt.core.win32" type="fragment"/>
- <plugin name="org.eclipse.cdt.core.tests" type="plugin"/>
- <plugin name="org.eclipse.cdt.debug.core" type="plugin"/>
- <plugin name="org.eclipse.cdt.debug.mi.core" type="plugin"/>
- <plugin name="org.eclipse.cdt.debug.mi.ui" type="plugin"/>
- <plugin name="org.eclipse.cdt.debug.ui" type="plugin"/>
- <plugin name="org.eclipse.cdt.debug.ui.tests" type="plugin"/>
- <plugin name="org.eclipse.cdt.doc.user" type="plugin"/>
- <plugin name="org.eclipse.cdt.launch" type="plugin"/>
- <plugin name="org.eclipse.cdt.linux.gtk" type="plugin"/>
- <plugin name="org.eclipse.cdt.linux.motif" type="plugin"/>
- <plugin name="org.eclipse.cdt.make.core" type="plugin"/>
- <plugin name="org.eclipse.cdt.make.ui" type="plugin"/>
- <plugin name="org.eclipse.cdt.managedbuilder.core" type="plugin"/>
- <plugin name="org.eclipse.cdt.managedbuilder.ui" type="plugin"/>
- <plugin name="org.eclipse.cdt.qnx.photon" type="plugin"/>
- <plugin name="org.eclipse.cdt.solaris.motif" type="plugin"/>
- <plugin name="org.eclipse.cdt.source" type="plugin"/>
- <plugin name="org.eclipse.cdt.testing" type="plugin"/>
- <plugin name="org.eclipse.cdt.ui" type="plugin"/>
- <plugin name="org.eclipse.cdt.ui.tests" type="plugin"/>
- <plugin name="org.eclipse.cdt.win32" type="plugin"/>
- <feature name="org.eclipse.cdt" suffix="-feature" type="feature" visible="false"/>
- <feature name="org.eclipse.cdt.aix" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.linux.gtk" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.linux.motif" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.make" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.managedbuilder" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.qnx.photon" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.solaris.motif" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.source" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.testing" suffix="-feature" type="feature"/>
- <feature name="org.eclipse.cdt.win32" suffix="-feature" type="feature"/>
-</projects>
diff --git a/releng/org.eclipse.cdt.releng/maps/cdt.map b/releng/org.eclipse.cdt.releng/maps/cdt.map
new file mode 100644
index 00000000000..c0aa6c2076e
--- /dev/null
+++ b/releng/org.eclipse.cdt.releng/maps/cdt.map
@@ -0,0 +1,38 @@
+! Cross platform
+
+plugin@org.eclipse.cdt.core=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+plugin@org.eclipse.cdt.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+plugin@org.eclipse.cdt.debug.core=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+plugin@org.eclipse.cdt.debug.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+plugin@org.eclipse.cdt.debug.mi.core=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+plugin@org.eclipse.cdt.debug.mi.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+plugin@org.eclipse.cdt.launch=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+plugin@org.eclipse.cdt.doc.user=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+plugin@org.eclipse.cdt=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+feature@org.eclipse.cdt=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,,org.eclipse.cdt-feature
+
+! Platform specific
+
+fragment@org.eclipse.cdt.core.aix=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+fragment@org.eclipse.cdt.core.linux=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+fragment@org.eclipse.cdt.core.qnx=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+fragment@org.eclipse.cdt.core.solaris=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+fragment@org.eclipse.cdt.core.win32=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+
+! Builders
+
+plugin@org.eclipse.cdt.make.core=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+plugin@org.eclipse.cdt.make.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+feature@org.eclipse.cdt.make=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,,org.eclipse.cdt.make-feature
+
+plugin@org.eclipse.cdt.managedbuilder.core=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+plugin@org.eclipse.cdt.managedbuilder.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
+feature@org.eclipse.cdt.managedbuilder=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,,org.eclipse.cdt.managedbuilder-feature
+
+! Source Feature
+
diff --git a/releng/org.eclipse.cdt.releng/message.txt b/releng/org.eclipse.cdt.releng/message.txt
deleted file mode 100644
index 2f53bb3cfc0..00000000000
--- a/releng/org.eclipse.cdt.releng/message.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-The build is available at
-
- http://update.eclipse.org/tools/cdt/updates/builds/2.0
-
-Cheers,
-dschaefer2, the buildmaster...
diff --git a/releng/org.eclipse.cdt.releng/platform/build.properties b/releng/org.eclipse.cdt.releng/platform/build.properties
new file mode 100644
index 00000000000..70b9409fff6
--- /dev/null
+++ b/releng/org.eclipse.cdt.releng/platform/build.properties
@@ -0,0 +1,87 @@
+#####################
+# Parameters describing how and where to execute the build.
+# Typical users need only update the following properties:
+# baseLocation - where things you are building against are installed
+# bootclasspath - The base jars to compile against (typicaly rt.jar)
+# configs - the list of {os, ws, arch} configurations to build.
+#
+# Of course any of the settings here can be overridden by spec'ing
+# them on the command line (e.g., -DbaseLocation=d:/eclipse
+
+############# CVS CONTROL ################
+# The CVS tag to use when fetching the map files from the repository
+mapVersionTag=HEAD
+
+# The CVS tag to use when fetching elements to build. By default the
+# builder will use whatever is in the maps. Use this value to override
+# for example, when doing a nightly build out of HEAD
+# fetchTag=HEAD
+
+
+############## BUILD / GENERATION CONTROL ################
+# The directory into which the build elements will be fetched and where
+# the build will take place. buildDirectory and install should be the same
+# value.
+buildDirectory=build
+
+# Type of build. Used in naming the build output. Typically this value is
+# one of I, N, M, S, ...
+buildType=I
+
+# ID of the build. Used in naming the build output.
+buildId=TestBuild
+
+# Label for the build. Used in naming the build output
+buildLabel=${buildType}.${buildId}
+
+# Timestamp for the build. Used in naming the build output
+timestamp=007
+
+# Base location for anything the build needs to compile against. For example,
+# when building GEF, the baseLocation should be the location of a previously
+# installed Eclipse against which the GEF code will be compiled.
+baseLocation=
+
+#Os/Ws/Arch/nl of the eclipse specified by baseLocation
+#baseos
+#basews
+#basearch
+#basenl
+
+# The location underwhich all of the build output will be collected. This will be
+# the root path in the resultant zip file.
+collPlace=eclipse
+
+# The directory in which to execute zip of the ${collPlace} directory
+collBase=.
+
+# The list of {os, ws, arch} configurations to build. This
+# value is a '&' separated list of ',' separate triples. For example,
+# configs=win32,win32,x86 & linux,motif,x86
+# By default the value is *,*,*
+configs=\
+ aix,motif,ppc \
+ & linux,gtk,x86 \
+ & linux,motif,x86 \
+ & qnx,photon,x86 \
+ & solaris,motif,sparc \
+ & win32,win32,x86
+
+#Arguments to send to the zip executable
+zipargs=
+
+############# JAVA COMPILER OPTIONS ##############
+# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
+#bootclasspath=d:/ibm1.3.1/jre/lib/rt.jar
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=false
+
+# Whether or not to fail the build if there are compiler errors
+javacfailonerror=true
+
+# The version of the source code
+#javaSource=1.3
+
+# The version of the byte code targeted
+#javacTarget=1.1
diff --git a/releng/org.eclipse.cdt.releng/platform/customTargets.xml b/releng/org.eclipse.cdt.releng/platform/customTargets.xml
new file mode 100644
index 00000000000..99ad4ef9995
--- /dev/null
+++ b/releng/org.eclipse.cdt.releng/platform/customTargets.xml
@@ -0,0 +1,150 @@
+<project name="Build specific targets and properties" default="noDefault" >
+
+<property name="basews" value="gtk" />
+<property name="baseos" value="linux" />
+<property name="basearch" value="x86" />
+<property name="basenl" value="en_US" />
+
+<!-- ===================================================================== -->
+<!-- Run a given ${target} on all elements being built -->
+<!-- Add on <ant> task for each top level element being built. -->
+<!-- ===================================================================== -->
+<target name="allElements">
+ <ant antfile="${genericTargets}" target="${target}" >
+ <property name="type" value="feature" />
+ <property name="id" value="org.eclipse.cdt" />
+ </ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Targets to assemble the built elements for particular configurations -->
+<!-- These generally call the generated assemble scripts (named in -->
+<!-- ${assembleScriptName}) but may also add pre and post processing -->
+<!-- Add one target for each root element and each configuration -->
+<!-- ===================================================================== -->
+
+<target name="assemble.org.eclipse.cdt.aix.motif.ppc">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.linux.gtk.x86">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.linux.motif.x86">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.qnx.photon.x86">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.solaris.motif.sparc">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<target name="assemble.org.eclipse.cdt.win32.win32.x86">
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Check out map files from correct repository -->
+<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
+<!-- ===================================================================== -->
+<target name="getMapFiles">
+ <copy todir="${buildDirectory}/maps">
+ <fileset dir="${builder}/../maps"/>
+ </copy>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before setup -->
+<!-- ===================================================================== -->
+<target name="preSetup">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after setup but before starting the build proper -->
+<!-- ===================================================================== -->
+<target name="postSetup">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before fetching the build elements -->
+<!-- ===================================================================== -->
+<target name="preFetch">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after fetching the build elements -->
+<!-- ===================================================================== -->
+<target name="postFetch">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before generating the build scripts. -->
+<!-- ===================================================================== -->
+<target name="preGenerate">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after generating the build scripts. -->
+<!-- ===================================================================== -->
+<target name="postGenerate">
+</target>
+
+
+<!-- ===================================================================== -->
+<!-- Steps to do before running the build.xmls for the elements being built. -->
+<!-- ===================================================================== -->
+<target name="preProcess">
+ <replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@build@">
+ <include name="**/about.mappings" />
+ </replace>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running the build.xmls for the elements being built. -->
+<!-- ===================================================================== -->
+<target name="postProcess">
+</target>
+
+
+<!-- ===================================================================== -->
+<!-- Steps to do before running assemble. -->
+<!-- ===================================================================== -->
+<target name="preAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running assemble. -->
+<!-- ===================================================================== -->
+<target name="postAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after the build is done. -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do to test the build results -->
+<!-- ===================================================================== -->
+<target name="test">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do to publish the build results -->
+<!-- ===================================================================== -->
+<target name="publish">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Default target -->
+<!-- ===================================================================== -->
+<target name="noDefault">
+ <echo message="You must specify a target when invoking this file" />
+</target>
+
+</project>
diff --git a/releng/org.eclipse.cdt.releng/plugin.xsl b/releng/org.eclipse.cdt.releng/plugin.xsl
index d4594efbeea..b1c1c3bdd40 100644
--- a/releng/org.eclipse.cdt.releng/plugin.xsl
+++ b/releng/org.eclipse.cdt.releng/plugin.xsl
@@ -56,7 +56,7 @@
<xsl:template mode="feature" match="url/update">
<xsl:copy>
<xsl:attribute name="url">
- <xsl:text>http://update.eclipse.org/tools/cdt/updates/builds/1.2</xsl:text>
+ <xsl:text>http://update.eclipse.org/tools/cdt/updates/builds/2.0</xsl:text>
</xsl:attribute>
<xsl:copy-of select="*|@*[not(name()='url')]"/>
</xsl:copy>
diff --git a/releng/org.eclipse.cdt.releng/site.xsl b/releng/org.eclipse.cdt.releng/site.xsl
index 5d47f301b93..529b4c057e7 100644
--- a/releng/org.eclipse.cdt.releng/site.xsl
+++ b/releng/org.eclipse.cdt.releng/site.xsl
@@ -1,56 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output indent="yes"/>
-
<xsl:param name="version"/>
- <xsl:param name="date"/>
-
- <xsl:template match="/site">
- <site>
- <xsl:copy-of select="*|@*"/>
- <category-def>
- <xsl:attribute name="name">
- <xsl:text>CDT Build </xsl:text>
- <xsl:value-of select="$version"/>
- </xsl:attribute>
- <xsl:attribute name="label">
- <xsl:text>CDT Build </xsl:text>
- <xsl:value-of select="$version"/>
- <xsl:text> - </xsl:text>
- <xsl:value-of select="$date"/>
- </xsl:attribute>
- </category-def>
- <xsl:apply-templates mode="features" select="document('manifest.xml')"/>
- </site>
- </xsl:template>
-
- <xsl:template mode="features" match="/projects/feature[not(@visible='false')]">
- <feature>
- <xsl:attribute name="url">
- <xsl:text>features/</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>_</xsl:text>
- <xsl:value-of select="$version"/>
- <xsl:text>.jar</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="id">
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- <xsl:attribute name="version">
- <xsl:value-of select="$version"/>
- </xsl:attribute>
- <category>
- <xsl:attribute name="name">
- <xsl:text>CDT Build </xsl:text>
- <xsl:value-of select="$version"/>
- </xsl:attribute>
- </category>
- </feature>
- </xsl:template>
-
- <xsl:template mode="features" match="/projects">
- <xsl:apply-templates mode="features" select="*"/>
- </xsl:template>
+ <xsl:template match="/site">
+ <site>
+ <xsl:copy-of select="*"/>
+ <category-def>
+ <xsl:attribute name="name">
+ <xsl:text>cdt_</xsl:text>
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ <xsl:attribute name="label">
+ <xsl:text>CDT Build </xsl:text>
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ </category-def>
+ <feature id="org.eclipse.cdt">
+ <xsl:attribute name="url">
+ <xsl:text>features/org.eclipse.cdt_</xsl:text>
+ <xsl:value-of select="$version"/>
+ <xsl:text>.jar</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="version">
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ <category>
+ <xsl:attribute name="name">
+ <xsl:text>cdt_</xsl:text>
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ </category>
+ </feature>
+ <feature id="org.eclipse.cdt.make">
+ <xsl:attribute name="url">
+ <xsl:text>features/org.eclipse.cdt.make_</xsl:text>
+ <xsl:value-of select="$version"/>
+ <xsl:text>.jar</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="version">
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ <category>
+ <xsl:attribute name="name">
+ <xsl:text>cdt_</xsl:text>
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ </category>
+ </feature>
+ <feature id="org.eclipse.cdt.managedbuilder">
+ <xsl:attribute name="url">
+ <xsl:text>features/org.eclipse.cdt.managedbuilder_</xsl:text>
+ <xsl:value-of select="$version"/>
+ <xsl:text>.jar</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="version">
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ <category>
+ <xsl:attribute name="name">
+ <xsl:text>cdt_</xsl:text>
+ <xsl:value-of select="$version"/>
+ </xsl:attribute>
+ </category>
+ </feature>
+ </site>
+ </xsl:template>
+
</xsl:transform>
diff --git a/releng/org.eclipse.cdt.releng/testReport.xsl b/releng/org.eclipse.cdt.releng/testReport.xsl
deleted file mode 100644
index a9b6e19863d..00000000000
--- a/releng/org.eclipse.cdt.releng/testReport.xsl
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:template match="/testRun">
- <html>
- <head><title>Test Results for <xsl:value-of select="@name"/></title></head>
- <body>
- <h2>Summary Table for <xsl:value-of select="@name"/></h2>
- <xsl:variable name="pass" select="count(//test[@result='pass'])"/>
- <xsl:variable name="failed" select="count(//test[@result='failed'])"/>
- <xsl:variable name="error" select="count(//test[@result='error'])"/>
- <xsl:variable name="total" select="count(//test)"/>
- <xsl:variable name="time" select="sum(//test/@time)"/>
- <xsl:variable name="mins" select="floor($time div 60)"/>
- <xsl:variable name="secs" select="floor($time - $mins * 60)"/>
- <xsl:variable name="fsecs" select="$time - $mins * 60 - $secs"/>
- <table border="2" cellspacing="0" cellpadding="2">
- <tr>
- <th>Total</th>
- <th>Pass</th>
- <th>Fail</th>
- <th>Error</th>
- <th>Pass Rate</th>
- <th>Time</th>
- </tr>
- <tr>
- <td><xsl:value-of select="$total"/></td>
- <td><xsl:value-of select="$pass"/></td>
- <td><xsl:value-of select="$failed"/></td>
- <td><xsl:value-of select="$error"/></td>
- <td><xsl:value-of select="format-number($pass div $total, '#.0%')"/></td>
- <td><xsl:value-of select="$mins"/>:<xsl:value-of select="format-number($secs, '00')"/><xsl:value-of select="format-number($fsecs, '.0')"/></td>
- </tr>
- </table>
- <xsl:apply-templates/>
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="testSuite">
- <h2>Test Suite: <xsl:value-of select="@name"/></h2>
- <table border="2" cellspacing="0" cellpadding="2" width="100%">
- <tr><th>Result</th><th>Time (s)</th><th>Test</th></tr>
- <xsl:apply-templates/>
- </table>
- </xsl:template>
-
- <xsl:template match="test">
- <tr>
- <td><xsl:value-of select="@result"/></td>
- <td><xsl:value-of select="format-number(@time, '0.000')"/></td>
- <td>
- <xsl:value-of select="../@name"/><br></br>::<xsl:value-of select="@name"/>
- <xsl:if test="@result != 'pass'">
- <br></br><font color="red">**<xsl:value-of select="text()"/></font>
- </xsl:if>
- </td>
- </tr>
- </xsl:template>
-
-</xsl:transform>

Back to the top