released patch build to 1.5 maintenance branch.
diff --git a/releng.wtpbuilder/components/wtp-patches/build.properties b/releng.wtpbuilder/components/wtp-patches/build.properties
new file mode 100644
index 0000000..9708c8b
--- /dev/null
+++ b/releng.wtpbuilder/components/wtp-patches/build.properties
@@ -0,0 +1,76 @@
+###############################################################################
+# Copyright (c) 2003, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Common Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/cpl-v10.html
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+#####################
+# 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 ################
+
+# patch feature
+patchFeature=org.eclipse.wst.common_core.feature.patch
+
+# The CVS tag to use when fetching the map files from the repository
+mapVersionTag=R1_5_maintenance_patches
+runPackager=true
+############## BUILD / GENERATION CONTROL ################
+# The directory into which the build elements will be fetched and where
+# the build will take place.
+buildDirectory=c:/dev/build
+
+# Type of build. Used in naming the build output. Typically this value is
+# one of I, N, M, S, ...
+buildType=M
+
+# ID of the build. Used in naming the build output.
+buildId=Build
+
+# 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=c:/dev/eclipse
+
+
+
+# The location underwhich all of the build output will be collected.
+collectingFolder=eclipse
+
+# The prefix that will be used in the generated archive.
+archivePrefix=eclipse
+
+# 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=
+
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacfailonerror=true
+
+zipargs=
diff --git a/releng.wtpbuilder/components/wtp-patches/customTargets.xml b/releng.wtpbuilder/components/wtp-patches/customTargets.xml
new file mode 100644
index 0000000..a2feaa2
--- /dev/null
+++ b/releng.wtpbuilder/components/wtp-patches/customTargets.xml
@@ -0,0 +1,223 @@
+<project name="Build specific targets and properties"
+ default="noDefault">
+
+ <property file="build.properties"/>
+
+ <!-- ===================================================================== -->
+ <!-- Run a given ${target} on all elements being built -->
+ <!-- Add on <ant> task for each top level element being built. -->
+ <!-- ===================================================================== -->
+ <target name="allElements">
+ <echo message="Target:${target} " />
+ <echo message="basedir: ${basedir}" />
+ <echo message="component: ${component}" />
+ <echo message="buildDirectory: ${buildDirectory}" />
+ <echo message="baseLocation: ${baseLocation}" />
+ <echo message="patchFeature: ${patchFeature}" />
+ <ant antfile="${genericTargets}" target="${target}">
+ <property name="type" value="feature" />
+ <property name="id" value="${patchFeature}" />
+ </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 -->
+ <!-- ===================================================================== -->
+
+ <!-- name's can not be variable? -->
+ <target name="assemble.org.eclipse.wst.common_core.feature.patch">
+ <property name="archiveName"
+ value="wtp-${buildLabel}.zip" />
+ <ant antfile="${assembleScriptName}"
+ dir="${buildDirectory}" />
+
+ </target>
+
+ <target name="prePackage" />
+
+ <target name="postPackage">
+ <property name="archiveName"
+ value="wtp-${buildLabel}.zip" />
+
+ <ant antfile="${wtp.builder.home}/scripts/build/buildutilities.xml" target="unpackUpdateJarsAndCreateZippedPackages">
+ <property name="buildDirectory" value="${buildDirectory}"/>
+ <property name="buildLabel" value="${buildLabel}"/>
+ <property name="archiveName" value="${archiveName}"/>
+ </ant>
+
+
+ </target>
+
+
+
+ <!-- ===================================================================== -->
+ <!-- Check out map files from correct repository -->
+ <!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
+ <!-- ===================================================================== -->
+ <target name="checkLocal">
+ <available property="mapsLocal"
+ file="${buildDirectory}/maps/releng" />
+ </target>
+ <target name="getMapFiles"
+ depends="checkLocal"
+ unless="mapsLocal">
+
+ <!-- *** change the repo info -->
+ <property name="mapCvsRoot"
+ value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
+ <property name="mapVersionTag" value="HEAD" />
+ <echo message="${mapCvsRoot} ${mapVersionTag} ">
+ </echo>
+ <cvs cvsRoot="${mapCvsRoot}"
+ package="releng"
+ dest="${buildDirectory}/maps"
+ tag="${mapVersionTag}" />
+ <!--tag the map files project-->
+ <antcall target="tagMapFiles">
+ <param name="mapCvsRoot"
+ value="${mapCvsRoot}" />
+ </antcall>
+ </target>
+
+ <target name="tagMapFiles" if="tagMaps">
+ <cvs cvsRoot="${mapCvsRoot}"
+ dest="${buildDirectory}/maps"
+ command="tag v${buildType}${timestamp}" />
+ </target>
+
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before setup -->
+ <!-- ===================================================================== -->
+ <target name="preSetup">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after setup but before starting the build proper -->
+ <!-- ===================================================================== -->
+ <target name="postSetup">
+ <dirname file="${ant.file}"
+ property="component.dir" />
+ <ant antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property name="dependency.properties"
+ value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+ <property name="base.install.dir"
+ value="${buildRoot}" />
+ </ant>
+
+ </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">
+ <condition property="logsAvailable">
+ <istrue value="${javacVerbose}" />
+ </condition>
+ <antcall target="gatherLogs" />
+ </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>
+
+
+ <!-- ===================================================================== -->
+ <!-- Helper targets -->
+ <!-- ===================================================================== -->
+ <target name="gatherLogs" if="logsAvailable">
+ <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
+ <antcall target="allElements">
+ <param name="target" value="gatherLogs" />
+ </antcall>
+
+ <unzip dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset dir="${buildDirectory}/features/${patchFeature}">
+ <include name="**/*.log.zip" />
+ </fileset>
+ </unzip>
+
+ </target>
+
+ <target name="clean" unless="noclean">
+ <antcall target="allElements">
+ <param name="target" value="cleanElement" />
+ </antcall>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Default target -->
+ <!-- ===================================================================== -->
+ <target name="noDefault">
+ <echo message="You must specify a target when invoking this file" />
+ </target>
+
+</project>
diff --git a/releng.wtpbuilder/components/wtp-patches/dependency.xml b/releng.wtpbuilder/components/wtp-patches/dependency.xml
new file mode 100644
index 0000000..6cd79cd
--- /dev/null
+++ b/releng.wtpbuilder/components/wtp-patches/dependency.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!-- ======================================================================
+ Properties that must be passed to this script:
+ base.install.dir
+ dependencyTargets
+ local.cache.dir
+ dependency.properties
+ baseos
+ basews
+ basearch
+
+ ====================================================================== -->
+<project name="test" default="get">
+
+ <target name="get">
+ <antcall target="getAndInstall">
+ <param name="groupId" value="emf" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="gef" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="jem" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="eclipse" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="eclipseTestFramework" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="dita" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp" />
+ </antcall>
+
+ <!-- for patch builds, also get a whole released version to
+ compile against -->
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp" />
+ </antcall>
+
+ </target>
+
+
+ <target name="getAndInstall">
+ <ant antfile="${dependencyTargets}" target="checkDependency">
+ <property name="groupId" value="${groupId}" />
+ </ant>
+ <ant antfile="${dependencyTargets}" target="installDependency">
+ <property name="groupId" value="${groupId}" />
+ <property name="install.destination" value="${base.install.dir}" />
+ </ant>
+ </target>
+
+
+
+
+</project>
+
diff --git a/releng.wtpbuilder/distribution/patches.build/build.xml b/releng.wtpbuilder/distribution/patches.build/build.xml
new file mode 100644
index 0000000..30ff938
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.build/build.xml
@@ -0,0 +1,23 @@
+<project default="build" basedir=".">
+
+ <target name="build" depends="getBaseBuilder">
+ <dirname file="${ant.file}" property="distribution.wtp.build.dir"/>
+ <property file="${wtp.builder.home}/build.properties" />
+ <property name="buildTargets" value="${wtp.builder.home}/scripts/build/build.xml" />
+
+ <ant antfile="${buildTargets}" >
+ <property name="component" value="wtp-patches" />
+ </ant>
+
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+
+ </target>
+
+ <target name="getBaseBuilder" if="eclipse.builder.fetch">
+ <dirname file="${ant.file}" property="wtbuilder.dir"/>
+ <property name="buildTargets" value="${wtp.builder.home}/scripts/build/build.xml" />
+ <!-- delete dir="${pde.builder.path}" failonerror="false"/ -->
+ <ant antfile="${buildTargets}" target="getBaseBuilder" />
+ </target>
+
+</project>
diff --git a/releng.wtpbuilder/distribution/patches.site/build.xml b/releng.wtpbuilder/distribution/patches.site/build.xml
new file mode 100644
index 0000000..05b0186
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/build.xml
@@ -0,0 +1,73 @@
+<project name="Build specific targets and properties" default="build">
+ <target name="build">
+ <java classpath="${pde.builder.path}/startup.jar" fork="true" classname="org.eclipse.core.launcher.Main" failonerror="true">
+ <jvmarg value="-Dosgi.ws=${basews}" />
+ <jvmarg value="-Dosgi.os=${baseos}" />
+ <jvmarg value="-Dosgi.arch=${basearch}" />
+ <jvmarg value="-Dbasews=${basews}" />
+ <jvmarg value="-Dbaseos=${baseos}" />
+ <jvmarg value="-Dbasearch=${basearch}" />
+ <jvmarg value="-Dbuild.home=${build.home}" />
+ <jvmarg value="-Dbuild.trial=${build.trial}" />
+ <jvmarg value="-DbuildBranch=${buildBranch}" />
+ <jvmarg value="-DbuildType=${buildType}" />
+ <jvmarg value="-DbuildId=${buildId}" />
+ <jvmarg value="-DjavacDebugInfo=on" />
+ <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
+ <jvmarg value="-Dbuild.distribution=${build.distribution}" />
+ <jvmarg value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
+ <arg value="-application" />
+ <arg value="org.eclipse.ant.core.antRunner" />
+ <arg value="-buildfile" />
+ <arg value="${ant.file}" />
+ <arg value="publish" />
+ </java>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to publish the build results -->
+ <!-- ===================================================================== -->
+ <target name="publish">
+ <dirname file="${ant.file}" property="component.dir" />
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property file="${buildDirectory}/label.properties" />
+
+ <property name="publish.xml" value="${component.dir}/publish.xml" />
+
+ <property name="indexFileName" value="index.php" />
+ <property name="result" value="${buildDirectory}/${buildLabel}" />
+ <property name="indexTemplateFilename" value="index.html.template" />
+
+ <condition property="isBuildTested" value="true">
+ <available file="${buildDirectory}/${buildLabel}/testResults/consolelogs/wtptestlog.txt" />
+ </condition>
+ <condition property="isBuildTested" value="false">
+ <not>
+ <available file="${buildDirectory}/${buildLabel}/testResults/consolelogs/wtptestlog.txt" />
+ </not>
+ </condition>
+
+ <ant antfile="${publish.xml}" dir="${component.dir}">
+ <property name="dropTokenList" value="%wtppatch%,%wtpruntime%,%wtpsdk%,%wst%,%wst-sdk%,%wst-tests%,%jst-tests%,%wst-perf-tests%,%jst-perf-tests%,%jsf-runtime%,%jsf-sdk%,%jsf-tests%,%jpa-runtime%,%jpa-sdk%,%jpa-tests%" />
+
+ <!-- use this form if/when mirror redirects desired
+ <property name="webtoolsDownloadURL" value="http://www.eclipse.org/downloads/download.php?file=/webtools/patches/drops"/>
+ -->
+ <property name="webtoolsDownloadURL" value="/webtools/patches/drops"/>
+
+ <property name="buildBranch" value="${buildBranch}" />
+ <property name="isBuildTested" value="${isBuildTested}" />
+ <property name="indexTemplateFilename" value="${indexTemplateFilename}" />
+ </ant>
+
+ <!-- Get the build map over for the results to point to. -->
+ <copy file="${buildDirectory}/directory.txt" tofile="${result}/directory.txt" />
+
+ <!-- Copy info for build identification -->
+ <copy file="${buildDirectory}/buildmachineinfo.properties" tofile="${result}/buildmachineinfo.properties" />
+
+ </target>
+
+
+</project>
diff --git a/releng.wtpbuilder/distribution/patches.site/publish.xml b/releng.wtpbuilder/distribution/patches.site/publish.xml
new file mode 100644
index 0000000..132538c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/publish.xml
@@ -0,0 +1,152 @@
+<project name="Publish Build" default="default" basedir=".">
+
+ <!-- Properties that must be passed to this script:
+ buildDirectory: Path to perform the build in. (A working directory)
+ buildType: Type of build (nightly, integration etc.)
+ buildId: Build name
+ buildLabel: <buildType>-<buildName>-<timestamp>
+-->
+ <property name="result" value="${buildDirectory}/${buildLabel}" />
+
+ <!--name of generated index page-->
+ <property name="indexFileName" value="index.php" />
+
+ <target name="default">
+ <antcall target="countFiles" />
+ <antcall target="generateIndex" />
+ <antcall target="getStaticFiles" />
+ </target>
+
+ <target name="generateIndex">
+
+ <property name="class" value="org.eclipse.releng.generators.TestResultsGenerator" />
+ <taskdef name="indexResults" classname="${class}" />
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+-->
+ <property file="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+
+ <indexResults isBuildTested="${isBuildTested}" dropTokenList="${dropTokenList}" xmlDirectoryName="${result}/testResults/xml" dropDirectoryName="${result}" testResultsTemplateFileName="${basedir}/templateFiles/testResults.php.template" dropTemplateFileName="${basedir}/templateFiles/${indexTemplateFilename}" testResultsHtmlFileName="testResults.php" dropHtmlFileName="${indexFileName}" hrefTestResultsTargetPath="testResults/html" hrefCompileLogsTargetPath="compilelogs" compileLogsDirectoryName="${result}/compilelogs" testManifestFileName="${basedir}/testManifest.xml" />
+
+ <tstamp>
+ <format property="TODAY" pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall target="${buildType}" />
+
+ <!-- Insert Build Date -->
+ <replace file="${result}/${indexFileName}" token="@date@" value="${TODAY}" />
+
+ <!-- Insert Build Name -->
+ <replace file="${result}/${indexFileName}" token="@build@" value="${buildLabel}" />
+
+ <!-- Insert Mirror Name -->
+ <replace file="${result}/${indexFileName}" token="@mirror@" value="${webtoolsDownloadURL}/${buildBranch}/${buildLabel}/" />
+
+ <!-- Insert PreRequsites -->
+
+ <replace file="${result}/${indexFileName}" token="@eclipseFile@" value="${eclipse.file.linux-gtk-x86}" />
+ <replace file="${result}/${indexFileName}" token="@eclipseURL@" value="${eclipse.url}/${eclipse.file.linux-gtk-x86}" />
+ <replace file="${result}/${indexFileName}" token="@eclipseBuildURL@" value="${eclipse.url}" />
+ <replace file="${result}/${indexFileName}" token="@emfFile@" value="${emf.file}" />
+ <replace file="${result}/${indexFileName}" token="@emfURL@" value="${emf.url}" />
+ <replace file="${result}/${indexFileName}" token="@gefFile@" value="${gef.file}" />
+ <replace file="${result}/${indexFileName}" token="@gefURL@" value="${gef.url}/${gef.file}" />
+ <replace file="${result}/${indexFileName}" token="@jemFile@" value="${jem.file}" />
+ <replace file="${result}/${indexFileName}" token="@jemURL@" value="${jem.url}/${jem.file}" />
+ <mkdir dir="${result}/whatisfixed" />
+ <echo file="${result}/whatisfixed/buglog.html" append="true" >
+ what is fixed list is not available yet!
+ </echo>
+
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch file="${result}/${indexFileName}" />
+ </target>
+
+
+ <target name="getStaticFiles">
+ <!--get static files required in the buildLabel directory-->
+ <copy todir="${result}">
+ <fileset dir="${basedir}/staticDropFiles" />
+ </copy>
+
+ <!--copy buildnotes from plugin and feature directories-->
+ <mkdir dir="${result}/buildnotes" />
+ <copy todir="${result}/buildnotes" flatten="true">
+ <fileset dir="${buildDirectory}/plugins" includes="**/buildnotes_*.html" />
+ </copy>
+ <copy todir="${result}/buildnotes" flatten="true">
+ <fileset dir="${buildDirectory}/features" includes="**/buildnotes_*.html" />
+ </copy>
+ </target>
+
+ <target name="countFiles">
+ <!-- files.count is a file that should exist in the drop directory with a count of the zip files in the same directory.
+ It is required to generate a link to the build on the downloads page.
+ Added remove .zip.MD5 - old files before a count
+ -->
+ <delete>
+ <fileset dir="${result}" id="id">
+ <include name="*.MD5" />
+ </fileset>
+ </delete>
+
+ <taskdef name="countFiles" classname="org.eclipse.releng.generators.FileCounter" />
+
+ <countFiles sourceDirectory="${result}" filterString=".zip,.tar.gz" outputFile="${result}/files.count" />
+
+ </target>
+
+ <!--Build type descriptors-->
+ <target name="I">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Integration" />
+ </target>
+
+ <target name="S">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Stable" />
+ </target>
+
+ <target name="N">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Nightly" />
+ </target>
+
+ <target name="M">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Maintenance" />
+ </target>
+
+ <target name="P">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Patch " />
+ </target>
+
+ <target name="R">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Release" />
+ </target>
+
+
+ <target name="T">
+ <replace file="${result}/${indexFileName}" token="%wtpandprereqs%" value=" " />
+ <replace file="${result}/${indexFileName}" token="@type@" value="Test" />
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/FAIL.gif b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/FAIL.gif
new file mode 100644
index 0000000..28bba66
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/FAIL.gif
Binary files differ
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/OK.gif b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/OK.gif
new file mode 100644
index 0000000..689e523
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/OK.gif
Binary files differ
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/buildNotes.php b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/buildNotes.php
new file mode 100644
index 0000000..c67ee8c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/buildNotes.php
@@ -0,0 +1,49 @@
+<html>
+<head>
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Build Notes for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Build Notes</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Build Notes for <?php echo "$buildName"; ?></font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ $aDirectory = dir("buildnotes");
+ while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ $parts = explode("_", $anEntry);
+ $baseName = $parts[1];
+ $parts = explode(".", $baseName);
+ $component = $parts[0];
+ $line = "<td>Component: <a href=\"buildnotes/$anEntry\">$component</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+ }
+ }
+ $aDirectory.closedir();
+ if (!$hasNotes) {
+ echo "<br>There are no build notes for this build.";
+ }
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/componentxmls.php b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/componentxmls.php
new file mode 100644
index 0000000..73c5443
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/componentxmls.php
@@ -0,0 +1,53 @@
+<html>
+<head>
+<?php
+ function find_component_xml($directory)
+ {
+ $count = 0;
+ $dir = dir($directory);
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "." && $anEntry != "..")
+ {
+ $anEntry = $directory."/".$anEntry;
+ if (stristr($anEntry, '.source') === FALSE)
+ {
+ if (is_dir($anEntry))
+ {
+ find_component_xml($anEntry);
+ }
+ else
+ {
+ echo "<tr><td><a href=\"$anEntry\">";
+ echo substr($anEntry, 22);
+ echo "</a></td>";
+ }
+ }
+ }
+ }
+ }
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">component.xml</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ component.xml files for <?php echo "$buildType $buildName"; ?></font></b></td>
+ </tr>
+</table>
+
+<table border="1" width="100%">
+ <tr>
+ <th>component.xml</th>
+ </tr>
+<?php
+ find_component_xml("apitools/componentxmls");
+?>
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/consoleLogs.php b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/consoleLogs.php
new file mode 100644
index 0000000..5b3e589
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/consoleLogs.php
@@ -0,0 +1,62 @@
+<html>
+<head>
+<?php
+
+ $consoleLogDirName = "testResults/consolelogs";
+
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title></head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Console
+ output from running JUnit plugin tests for
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ if (file_exists($consoleLogDirName)) {
+ $aDirectory = dir($consoleLogDirName);
+ $index = 0;
+ while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ $entries[$index] = $anEntry;
+ $index++;
+ }
+ }
+
+ aDirectory.closedir();
+ sort($entries);
+
+ for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $line = "<td>Component: <a href=\"$consoleLogDirName/$anEntry\">$anEntry</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+ }
+ }
+
+ if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+ }
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/download.php b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/download.php
new file mode 100644
index 0000000..cfeab0a
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/download.php
@@ -0,0 +1,54 @@
+<html>
+<head>
+<title>Eclipse WTP Download Click Through</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<?php
+ $parts = explode("-", $dropFile);
+ $clickFile = "clickThroughs/";
+ for ($i =0; $i<count($parts); $i++) {
+ if ($i != 2) {
+ $clickFile = $clickFile.$parts[$i];
+ if ($i < count($parts) - 1) {
+ $clickFile = $clickFile."-";
+ }
+ }
+ }
+ $clickFile = $clickFile.".txt";
+
+ if (file_exists($clickFile)) {
+ $fileHandle = fopen($clickFile, "r");
+ while (!feof($fileHandle)) {
+ $aLine = fgets($fileHandle, 4096);
+ $result = $result.$aLine;
+ }
+ fclose($fileHandle);
+ } else {
+ echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL='.$dropFile.'">';
+ echo '<b><font size "+4">Downloading: '.$dropFile.'</font></b>';
+ echo '<BR>';
+ echo '<BR>';
+ echo 'If your download does not begin automatically click <a href="'.$dropFile.'">here</a>.';
+ }
+?>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+ <?php
+ if (file_exists($clickFile)) {
+ echo '<p><b><font size="+4">Important Notes<BR>';
+ echo $dropFile;
+ echo '</font></b></font></p>
+ <p>It is very important to read the following notes in order to run this version
+ of Eclipse. Once you have read the notes you can click on the Download link
+ to download the drop.</p>
+ ';
+ echo '<textarea name="textfield" cols="80" rows="20" wrap="PHYSICAL">'.$result;
+ echo '</textarea>';
+ echo '<BR>';
+ echo '<BR>';
+ echo '<a href="'.$dropFile.'">Download</a>';
+ }
+?>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/staticDropFiles/pii.php b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/pii.php
new file mode 100644
index 0000000..e3ed59b
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/staticDropFiles/pii.php
@@ -0,0 +1,54 @@
+<html>
+<head>
+<?php
+ function write_unused_property($directory)
+ {
+ $count = 0;
+ $dir = dir($directory);
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "." && $anEntry != "..")
+ {
+ $anEntry = $directory."/".$anEntry;
+ if (is_dir($anEntry))
+ {
+ write_unused_property($anEntry);
+ }
+ else
+ {
+ echo "<tr><td><a href=\"$anEntry\">";
+ echo substr($anEntry, 16);
+ echo "</a></td>";
+ $lines = file($anEntry);
+ $count = count($lines);
+ echo "<td>$count</td></tr>";
+ }
+ }
+ }
+ }
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Unused property messages</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Unused property messages for <?php echo "$buildType $buildName"; ?></font></b></td>
+ </tr>
+</table>
+
+<table border="1">
+ <tr>
+ <th>Properties file</th>
+ <th>Unused strings</th>
+ </tr>
+<?php
+ write_unused_property("piitools");
+?>
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/buildresult.xml.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/buildresult.xml.template
new file mode 100644
index 0000000..1fdede5
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/buildresult.xml.template
@@ -0,0 +1,2 @@
+<eclipsebuild buildlabel="@buildlabel@">
+</eclipsebuild>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/index.html.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/index.html.template
new file mode 100644
index 0000000..ad5c4af
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/index.html.template
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<title>Download</title>
+</head>
+
+<body>
+
+<?php
+include '../../../report.php';
+$testResults = parse_testResult("testResults.php");
+list ($compileErrors, $compileWarnings, $junitFailures) = $testResults;
+?>
+
+
+ <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" ><tr><td ALIGN=LEFT width="80%">
+<p><b><font face="Verdana" size="+3">@type@ Build: @build@</font></b><br>
+@date@
+</p>
+<p>These downloads are provided under the <a href="http://www.eclipse.org/legal/epl/notice.html">Eclipse Foundation
+Software User Agreement</a>.</p>
+</td></tr></table>
+
+<!-- *********** Build Status ************** -->
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"> <b><font face="Arial,Helvetica" color="#FFFFFF">Build, test and performance</font></b></td></tr></table>
+<br>
+<?
+$buildmachineScript="../../../displayBuildMachine.php";
+if (file_exists($buildmachineScript))
+{
+ include $buildmachineScript;
+ echo displayBuildMachine();
+}
+?>
+<br> <a href="buildNotes.php">Build notes</a>
+<br> <a href="directory.txt">map files</a>
+<br> <a href="testResults.php">Compile logs & test results</a>
+
+
+<!-- *********** Runtime downloads ************** -->
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0">
+<b><font face="Arial,Helvetica" color="#FFFFFF">
+Web Tools Platform Patches
+</font></b></td></tr>
+
+<TR><TD align="LEFT" valign="TOP" colspan="3">
+The Eclipse Web Tools Platform Project provides tools for Web Development, and is a platform for adopters making add-on tools for Web Development.
+<p>The patches found here are very special purpose and may not run correctly in all contexts. You should not download and install this patch unless
+directed to by a WTP Commmitter (or, support personnel).
+</TD></TR></table>
+
+%wtpandprereqs%
+
+<table border=0 cellspacing=2 cellpadding=0 width="100%" bordercolor="#999999" >
+<tr><td align=RIGHT valign=TOP width="7%">
+<div align="left"><b>Status</b></div></td>
+<td width="34%"><b>Platform</b></td>
+<td width="59%"><b>Download</b></td></tr>
+%wtppatch%
+</table>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td colspan="2"> </td></tr></table>
+
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-all.php.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-all.php.template
new file mode 100644
index 0000000..a214891
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-all.php.template
@@ -0,0 +1,47 @@
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ %testresults%
+
+</table>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Plugins
+ containing compile errors </font></b></td>
+ </tr>
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td><b>Compile Logs (Jar Files)</b></td>
+ <td><b>Errors</b></td>
+ <td><b>Warnings</b></td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-compile.php.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-compile.php.template
new file mode 100644
index 0000000..74927d6
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-compile.php.template
@@ -0,0 +1,39 @@
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+1">Test Results are not available yet</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Tests are in progress. Results will be ready soon... </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<p></p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Plugins
+ containing compile errors </font></b></td>
+ </tr>
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td><b>Compile Logs (Jar Files)</b></td>
+ <td><b>Errors</b></td>
+ <td><b>Warnings</b></td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-tests.php.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-tests.php.template
new file mode 100644
index 0000000..d31b525
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/monitor-tests.php.template
@@ -0,0 +1,59 @@
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+1">Compilation and Tests are complete, Performance results are not available yet</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Performance tests are in progress. Results will be ready soon... </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<p></p>
+
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ %testresults%
+
+</table>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Plugins
+ containing compile errors </font></b></td>
+ </tr>
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td><b>Compile Logs (Jar Files)</b></td>
+ <td><b>Errors</b></td>
+ <td><b>Warnings</b></td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/performance.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/performance.template
new file mode 100644
index 0000000..f8abfbc
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/performance.template
@@ -0,0 +1,62 @@
+<P>
+ <A NAME="unit"></A>
+ * Missing reference data. Build used for comparison specified in ending parenthesis.
+ <BR>green: faster, less memory
+ <BR>red: slower, more memory
+ <BR>x axis: difference between current value and baseline value as percentage
+ <BR>
+</P>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Detailed performance data grouped by scenario prefix
+ </font></b></td>
+ </tr>
+</table>
+
+<?php
+ $dir = dir(".");
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "global.php" && substr($anEntry, strlen($anEntry) - 4) == ".php")
+ {
+ echo "<a href=\"$anEntry\">$anEntry</a><br>";
+ }
+ }
+?>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td> </td>
+ </tr>
+</table>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Performance JUnit test results for <?php echo "$buildType $buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+
+<font color="#FFFFFF" face="Arial,Helvetica">
+<table border=1" width="100%">
+ <tr>
+ <td width="100%"><b>Tests Performed</b></td>
+ </tr>
+ <?php
+ $xmlDir = dir("../xml");
+ while ($xmlEntry = $xmlDir->read())
+ {
+ if ($xmlEntry != "." && $xmlEntry != "..")
+ {
+ $htmlEntry = substr($xmlEntry, 0, strlen($xmlEntry) - 3) . "html";
+ echo "<tr>";
+ echo "<td><a href=\"../html/$htmlEntry\">$htmlEntry</a></td>";
+ echo "</tr>";
+ }
+ }
+ ?>
+</table>
+</html>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches.site/templateFiles/testResults.php.template b/releng.wtpbuilder/distribution/patches.site/templateFiles/testResults.php.template
new file mode 100644
index 0000000..6fcd9fb
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/templateFiles/testResults.php.template
@@ -0,0 +1,91 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Results for $buildName </title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Unit Test Results for <?php echo "$buildName"; ?> on Various Platforms and JRE</font></b></td>
+ </tr>
+</table>
+
+<?php
+if (file_exists("testResults"))
+{
+$dir = dir("testResults");
+while ($anEntry = $dir->read())
+{
+ if ($anEntry != "." && $anEntry != ".." && $anEntry != "consolelogs" && $anEntry != "html" && $anEntry != "xml")
+ {
+ $link = "testResults/".$anEntry."/results/index.php";
+ echo "<p><a href=\"$link\">$anEntry</a></p>";
+ }
+}
+}
+?>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ %testresults%
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consoleLogs.php">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Plugins
+ containing compile errors </font></b></td>
+ </tr>
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td><b>Compile Logs (Jar Files)</b></td>
+ <td><b>Errors</b></td>
+ <td><b>Warnings</b></td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.site/testManifest.xml b/releng.wtpbuilder/distribution/patches.site/testManifest.xml
new file mode 100644
index 0000000..bb4609a
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.site/testManifest.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<topLevel>
+ <zipTypes>
+ <zipType name="wtppatch">
+ <platform
+ id="WTPPATCH"
+ name="All"
+ fileName='<a href="@mirror@wtp-@build@.zip">wtp-@build@.zip</a>(<a href="checksum/wtp-@build@.zip.md5">md5</a>) <font size="2"></font>'>
+ </platform>
+ </zipType>
+ </zipTypes>
+</topLevel>
diff --git a/releng.wtpbuilder/distribution/patches.tests/build.xml b/releng.wtpbuilder/distribution/patches.tests/build.xml
new file mode 100644
index 0000000..52199c0
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/build.xml
@@ -0,0 +1,93 @@
+<project name="Build specific targets and properties" default="test">
+
+
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after the build is done. -->
+ <!-- ===================================================================== -->
+ <target name="test">
+ <antcall target="runTest" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to test the build results -->
+ <!-- ===================================================================== -->
+ <target name="runTest">
+
+ <dirname file="${ant.file}" property="test.component.dir" />
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property file="${buildDirectory}/label.properties" />
+ <property file="${wtp.builder.home}/build.properties" />
+
+ <mkdir dir="${testRoot}" />
+ <mkdir dir="${testRoot}/results" />
+ <mkdir dir="${testRoot}/results/consolelogs" />
+
+ <copy todir="${testRoot}" overwrite="true">
+ <fileset dir="${test.component.dir}/testScripts">
+ </fileset>
+ </copy>
+
+
+ <echo message="${baseos} ${basews} ${basearch} " />
+ <ant antfile="${test.component.dir}/testdependency.xml" target="get">
+ <property name="dependency.properties" value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+ <property name="base.install.dir" value="${testRoot}" />
+ </ant>
+
+ <sleep seconds="5"/>
+ <unzip dest="${testRoot}" src="${buildDirectory}/${buildLabel}/wtp-${buildLabel}.zip" overwrite="true" />
+
+
+ <antcall target="runTestEclipse">
+ <param name="testTarget" value="all" />
+ </antcall>
+ <antcall target="postRunTestEclipse">
+ <param name="testTarget" value="all" />
+ </antcall>
+
+ </target>
+
+
+
+ <target name="runTestEclipse">
+ <java taskname="test-wtp-${testTarget}" classpath="${testRoot}/eclipse/startup.jar" fork="true" classname="org.eclipse.core.launcher.Main" failonerror="true" timeout="7200000" output="${testRoot}/results/consolelogs/wtptestlog.txt" dir="${testRoot}">
+ <jvmarg value="-Dosgi.ws=${basews}" />
+ <jvmarg value="-Dosgi.os=${baseos}" />
+ <jvmarg value="-Dosgi.arch=${basearch}" />
+ <jvmarg value="-Dws=${basews}" />
+ <jvmarg value="-Dos=${baseos}" />
+ <jvmarg value="-Darch=${basearch}" />
+ <jvmarg value="-Dnoclean=true" />
+ <jvmarg value="-DbuildBranch=${buildBranch}" />
+ <jvmarg value="-DbuildType=${buildType}" />
+ <jvmarg value="-DbuildId=${buildId}" />
+ <jvmarg value="-DbuildLabel=${buildLabel}" />
+ <arg value="-propertyfile" />
+ <arg value="test.properties" />
+ <arg value="-application" />
+ <arg value="org.eclipse.ant.core.antRunner" />
+ <arg value="-file" />
+ <arg value="test.xml" />
+ <arg value="-logger" />
+ <arg value="org.apache.tools.ant.DefaultLogger" />
+ <arg value="${testTarget}" />
+ <sysproperty key="build.home" value="${build.home}" />
+ <sysproperty key="buildDirectory" value="${buildDirectory}" />
+ <sysproperty key="baseLocation" value="${baseLocation}" />
+ <sysproperty key="testDir" value="${testRoot}" />
+ <sysproperty key="perf.buildId" value="${buildType}${date}-${time}" />
+ <sysproperty key="eclipseBuilderDirectory" value="${pde.builder.path}" />
+ </java>
+ </target>
+
+ <target name="postRunTestEclipse">
+ <copy todir="${buildDirectory}/${buildLabel}/testResults" overwrite="true">
+ <fileset dir="${testRoot}/results">
+ <include name="**/*.*" />
+ </fileset>
+ </copy>
+ </target>
+
+
+</project>
diff --git a/releng.wtpbuilder/distribution/patches.tests/standaloneTest.xml b/releng.wtpbuilder/distribution/patches.tests/standaloneTest.xml
new file mode 100644
index 0000000..4432eda
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/standaloneTest.xml
@@ -0,0 +1,138 @@
+<project default="main" basedir=".">
+
+ <!--
+ Required inputs:
+
+ build.home
+ buildType
+ buildId
+ timestamp
+ baseos
+ basews
+ basearch
+ build.committers [optional]
+ testTarget [optional]
+ -->
+
+ <target name="main">
+ <property file="${build.home}/releng.wtpbuilder/build.properties"/>
+ <property name="local.cache.dir" value="${build.home}/${build.local.repository}"/>
+ <property name="testRoot" value="${build.home}/testRoot"/>
+ <delete dir="${testRoot}" failonerror="false"/>
+ <mkdir dir="${testRoot}"/>
+ <antcall target="getReleng"/>
+ <property file="${testRoot}/releng/maps/dependencies.properties"/>
+ <antcall target="getDependencies"/>
+ <condition property="wtp-sdk" value="wtp-sdk-${buildId}.zip" else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
+ <available file="${local.cache.dir}/wtp-sdk-${buildId}.zip"/>
+ </condition>
+ <condition property="wtp-wst-tests" value="wtp-wst-Automated-Tests-${buildId}.zip" else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
+ <available file="${local.cache.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
+ </condition>
+ <condition property="wtp-jst-tests" value="wtp-jst-Automated-Tests-${buildId}.zip" else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
+ <available file="${local.cache.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
+ </condition>
+ <antcall target="run"/>
+ </target>
+
+ <target name="getReleng">
+ <property name="releng.tag" value="v${buildType}${timestamp}"/>
+ <cvs
+ cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
+ package="releng"
+ dest="${testRoot}"
+ command="export"
+ tag="${releng.tag}"
+ />
+ </target>
+
+ <target name="getDependencies">
+ <ant antfile="${build.home}/releng.wtpbuilder/distribution/wtp.tests/testdependency.xml">
+ <property name="base.install.dir" value="${testRoot}"/>
+ <property name="dependencyTargets" value="${build.home}/releng.wtpbuilder/scripts/dependency/build.xml"/>
+ </ant>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-sdk-${buildId}.zip" />
+ </antcall>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip" />
+ </antcall>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-wst-Automated-Tests-${buildId}.zip" />
+ </antcall>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip" />
+ </antcall>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-jst-Automated-Tests-${buildId}.zip" />
+ </antcall>
+ <antcall target="getAndInstallWTP">
+ <param name="file" value="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip" />
+ </antcall>
+ </target>
+
+ <target name="getAndInstallWTP">
+ <available file="${local.cache.dir}/${file}" property="file.exists"/>
+ <antcall target="getWTP"/>
+ <available file="${local.cache.dir}/${file}" property="file.exists"/>
+ <antcall target="installWTP"/>
+ </target>
+
+ <target name="getWTP">
+ <condition property="file.url" value="http://download.eclipse.org/webtools/patches/drops/${buildType}-${buildId}-${timestamp}" else="http://download.eclipse.org/webtools/downloads/drops/${buildType}-${buildId}-${timestamp}">
+ <isset property="build.committers"/>
+ </condition>
+ <antcall target="getWTP2"/>
+ </target>
+
+ <target name="getWTP2" unless="file.exists">
+ <property name="file.url" value="http://download.eclipse.org/webtools/downloads/drops/${buildType}-${buildId}-${timestamp}"/>
+ <get dest="${local.cache.dir}/${file}" src="${file.url}/${file}" ignoreerrors="true"/>
+ </target>
+
+ <target name="installWTP" if="file.exists">
+ <unzip src="${local.cache.dir}/${file}" dest="${testRoot}" overwrite="true"/>
+ </target>
+
+ <target name="run">
+ <mkdir dir="${testRoot}/results/consolelogs"/>
+ <copy todir="${testRoot}" flatten="true" overwrite="true">
+ <fileset dir="${build.home}/releng.wtpbuilder/distribution/wtp.tests/testScripts"/>
+ </copy>
+ <ant antfile="${build.home}/releng.wtpbuilder/distribution/wtp.tests/build.xml" target="runTestEclipse">
+ <property name="testRoot" value="${testRoot}"/>
+ <property name="testTarget" value="all"/>
+ </ant>
+ <copy file="${build.home}/releng.wtpbuilder/distribution/wtp.tests/templateFiles/index.php" todir="${testRoot}/results" overwrite="true"/>
+ </target>
+
+ <target name="upload" if="login">
+ <mkdir dir="${build.home}/archives"/>
+ <zip destfile="${build.home}/archives/${buildType}-${buildId}-${timestamp}.zip" basedir="${build.home}/testRoot/results"/>
+ <condition property="upload.path"
+ else="~/downloads/webtools/downloads/drops/${buildType}-${buildId}-${timestamp}/testResults/${config}"
+ value="~/downloads/webtools/patches/drops/${buildType}-${buildId}-${timestamp}/testResults/${config}">
+ <isset property="build.committers"/>
+ </condition>
+ <exec executable="ssh" dir="${build.home}">
+ <arg line="${login}@download.eclipse.org rm -rf ${upload.path}"/>
+ </exec>
+ <exec executable="ssh" dir="${build.home}">
+ <arg line="${login}@download.eclipse.org mkdir ${upload.path}"/>
+ </exec>
+ <exec executable="scp" dir="${build.home}">
+ <arg line="-r ./testRoot/results ${login}@download.eclipse.org:${upload.path}"/>
+ </exec>
+ </target>
+
+ <target name="clean" if="clean">
+ <property file="${build.home}/releng.wtpbuilder/build.properties"/>
+ <property name="local.cache.dir" value="${build.home}/${build.local.repository}"/>
+ <property name="testRoot" value="${build.home}/testRoot"/>
+ <delete dir="${testRoot}" failonerror="false"/>
+ <delete failonerror="false">
+ <fileset dir="${local.cache.dir}" includes="wtp-*"/>
+ </delete>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches.tests/templateFiles/index.php b/releng.wtpbuilder/distribution/patches.tests/templateFiles/index.php
new file mode 100644
index 0000000..8d23693
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/templateFiles/index.php
@@ -0,0 +1,80 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", realpath(".."));
+ $label = $parts[count($parts) - 1];
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$label"; ?> </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ <?
+ $dir = dir("html");
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "." && $anEntry != "..")
+ {
+ $link = "html/".$anEntry;
+ $xml = "xml/".substr($anEntry, 0, strlen($anEntry)-4)."xml";
+ $count = 0;
+ $fileHandle = fopen($xml, "r");
+ while (!feof($fileHandle))
+ {
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $count = $count + substr_count($aLine, '<error');
+ }
+ fclose($fileHandle);
+ if ($count > 0)
+ {
+ echo "<tr><td><a href=\"$link\"><b><font color=\"red\">";
+ echo "$anEntry";
+ echo "</font></b></a></td>";
+ echo "<td><b><font color=\"red\">$count</font></b></td></tr>";
+ }
+ else
+ {
+ echo "<tr><td><a href=\"$link\">";
+ echo "$anEntry";
+ echo "</a></td>";
+ echo "<td>$count</td></tr>";
+ }
+ }
+ }
+ ?>
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$label"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consolelogs/wtptestlog.txt">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/patches.tests/testScripts/ComputePluginVersion.jar b/releng.wtpbuilder/distribution/patches.tests/testScripts/ComputePluginVersion.jar
new file mode 100644
index 0000000..ad06a45
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testScripts/ComputePluginVersion.jar
Binary files differ
diff --git a/releng.wtpbuilder/distribution/patches.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/distribution/patches.tests/testScripts/JUNIT.XSL
new file mode 100644
index 0000000..f632657
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testScripts/JUNIT.XSL
@@ -0,0 +1,455 @@
+<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 > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 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 >>
+ </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 > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 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[.> 0]">Failure</xsl:when>
+ <xsl:when test="@errors[.> 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,''')">
+ <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: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,'
')">
+ <xsl:value-of select="substring-before($word,'
')"/>
+ <br/>
+ <xsl:call-template name="br-replace">
+ <xsl:with-param name="word" select="substring-after($word,'
')"/>
+ </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.wtpbuilder/distribution/patches.tests/testScripts/junit-tests.xml b/releng.wtpbuilder/distribution/patches.tests/testScripts/junit-tests.xml
new file mode 100644
index 0000000..db800fd
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testScripts/junit-tests.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<project name="JUnit tests" basedir="." >
+
+ <property name="library-xml-file" value="${basedir}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+ <import file="${library-xml-file}"/>
+
+ <target name="core-test">
+ <property name="extraVMargs" value=""/>
+ <antcall target="eclipse-test">
+ <param name="application" value="org.eclipse.test.coretestapplication"/>
+ <param name="extraVMargs" value="${extraVMargs} -Dwtp.autotest.noninteractive=true"/>
+ </antcall>
+ </target>
+
+ <target name="ui-test">
+ <property name="extraVMargs" value=""/>
+ <antcall target="eclipse-test">
+ <param name="application" value="org.eclipse.test.uitestapplication"/>
+ <param name="extraVMargs" value="${extraVMargs} -Dwtp.autotest.noninteractive=true"/>
+ </antcall>
+ </target>
+
+</project>
diff --git a/releng.wtpbuilder/distribution/patches.tests/testScripts/test.properties b/releng.wtpbuilder/distribution/patches.tests/testScripts/test.properties
new file mode 100644
index 0000000..707c76d
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testScripts/test.properties
@@ -0,0 +1,14 @@
+# JSF Tests
+org.eclipse.jst.jsf.core.tests=org.eclipse.jst.jsf.core.tests_0.5.0
+org.eclipse.jst.jsf.ui.tests=org.eclipse.jst.jsf.ui.tests_0.5.0
+
+# Tomcat dirs
+tomcat50Dir=jakarta-tomcat-5.0.28
+
+# Jonas dirs
+#jonas432Dir=
+jonas432DirName=JONAS_4_3_2
+
+# SWT
+#swt.lib.path=org.eclipse.swt.motif_3.1.0/os/linux/x86
+swt.lib.path=org.eclipse.swt.win32_3.1.0/os/win32/x86
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches.tests/testScripts/test.xml b/releng.wtpbuilder/distribution/patches.tests/testScripts/test.xml
new file mode 100644
index 0000000..6d38c73
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testScripts/test.xml
@@ -0,0 +1,482 @@
+<project name="Automated Eclipse Testing" default="all" basedir="." >
+
+ <!--properties file containing the plugin directory name including version number-->
+ <property file="test.properties" />
+
+ <!--properties file containing the build information-->
+ <property file="label.properties" />
+
+ <!--default directory where test-eclipse will be installed-->
+ <property name="install" value="${basedir}" />
+
+ <!--name that can be added to report name to identify which platform tests results come from-->
+ <property name="platform" value="" />
+
+ <!-- The root of the eclipse installation -->
+ <property name="eclipse-home" value="${install}/eclipse" />
+
+ <!-- The path to libary.xml -->
+ <!--property name="library-file" value="${eclipse-home}/plugins/${org.eclipse.test}/library.xml" /-->
+
+ <!-- The directory that will contain the xml and html results from the tests that are run -->
+ <property name="results" value="${basedir}/results" />
+
+ <!-- jonas install directory -->
+ <property name="jonas432Dir" value="${testDir}/${jonas432DirName}"/>
+
+ <target name="init">
+ <antcall target="setPropertyJOnAS432Dir"/>
+ <antcall target="computePluginVersion"/>
+ </target>
+
+ <target name="setPropertyJOnAS432Dir" unless="jonas432Dir">
+ <property name="jonas432Dir" value="${testDir}/${jonas432DirName}"/>
+ </target>
+
+ <target name="setup" if="clean" description="Reinstall the test Eclipse installation if specified by user">
+ <delete dir="${install}" />
+ <mkdir dir="${install}" />
+ <exec dir="." executable="unzip">
+ <arg line="-o -qq ../downloads/*.zip -d ${install}"/>
+ </exec>
+
+ <exec dir="." executable="unzip">
+ <arg line="-o -qq wtp-wst-tests-feature*.zip -d ${install}"/>
+ </exec>
+
+ </target>
+
+ <target name="runapitests" depends="setup">
+ <antcall target="runtests"/>
+ </target>
+
+ <target name="runtests" depends="setup" description="Runs ant on the test.xml for a specified plugin. Requires a property value setting for testPlugin only if test.properties is not available. The property testPlugin represents a directory name made up of the plugin id and plugin version. This directory must contain a valid test.xml.">
+ <available file="${eclipse-home}/plugins/${testPlugin}/test.xml" property="test.xml.exists"/>
+ <antcall target="runtests2"/>
+ </target>
+
+ <target name="runtests2" if="test.xml.exists">
+ <antcall target="runtests-normal"/>
+ <copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${platform}.xml" failonerror="false" />
+ <antcall target="genHtml" />
+ </target>
+
+ <target name="runtests-normal">
+ <ant antfile="${eclipse-home}/plugins/${testPlugin}/test.xml" dir="${eclipse-home}">
+ <property name="library-file" value="${testDir}/junit-tests.xml"/>
+ </ant>
+ <copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${platform}.xml" failonerror="false" />
+ <antcall target="genHtml" />
+ </target>
+
+ <target name="wst-server-tests" description="Runs the org.eclipse.wst.server.*.tests test.xml">
+ <antcall target="runapitests">
+ <param name="testPlugin" value="${org.eclipse.wst.server.core.tests}" />
+ <param name="report" value="org.eclipse.wst.server.core.tests" />
+ <param name="package.includes" value="org.eclipse.wst.server"/>
+ </antcall>
+ <antcall target="runapitests">
+ <param name="testPlugin" value="${org.eclipse.wst.server.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.server.ui.tests" />
+ <param name="package.includes" value="org.eclipse.wst.server"/>
+ </antcall>
+ </target>
+
+ <target name="wst-monitor-tests" description="Runs the org.eclipse.wst.internet.monitor.*.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.internet.monitor.core.tests}" />
+ <param name="report" value="org.eclipse.wst.internet.monitor.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.internet.monitor.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.internet.monitor.ui.tests" />
+ </antcall>
+ </target>
+
+ <target name="wst-cache-tests" description="Runs the org.eclipse.wst.internet.cache.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.internet.cache.tests}" />
+ <param name="report" value="org.eclipse.wst.internet.cache.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-server-tests" description="Runs the org.eclipse.jst.server.*.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.core.tests}" />
+ <param name="report" value="org.eclipse.jst.server.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.ui.tests}" />
+ <param name="report" value="org.eclipse.jst.server.ui.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-server-tomcat-tests" description="Runs the org.eclipse.jst.server.tomcat.*.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.tomcat.core.tests}" />
+ <param name="report" value="org.eclipse.jst.server.tomcat.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.tomcat.ui.tests}" />
+ <param name="report" value="org.eclipse.jst.server.tomcat.ui.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-server-generic-tests" description="Runs the org.eclipse.jst.server.generic.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.generic.tests}" />
+ <param name="report" value="org.eclipse.jst.server.generic.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-server-geronimo-tests" description="Runs the org.eclipse.jst.server.geronimo.*.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.geronimo.core.tests}" />
+ <param name="report" value="org.eclipse.jst.server.geronimo.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.server.geronimo.ui.tests}" />
+ <param name="report" value="org.eclipse.jst.server.geronimo.ui.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-j2ee-core-tests" description="Runs the org.eclipse.jst.j2ee.core.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.j2ee.core.tests}" />
+ <param name="report" value="org.eclipse.jst.j2ee.core.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-j2ee-tests" description="Runs the org.eclipse.jst.j2ee.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.j2ee.tests}" />
+ <param name="report" value="org.eclipse.jst.j2ee.tests" />
+ </antcall>
+ </target>
+
+ <target name="wst-common-tests" description="Runs the org.eclipse.jst.j2ee.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.common.tests}" />
+ <param name="report" value="org.eclipse.wst.common.tests" />
+ </antcall>
+ </target>
+
+ <target name="wst-common-snippets-tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.common.snippets.tests}" />
+ <param name="report" value="org.eclipse.wst.common.snippets.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-servlet-tests" description="Runs the org.eclipse.jst.servlet.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.servlet.tests}" />
+ <param name="report" value="org.eclipse.jst.servlet.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-validation-framework-tests" description="Runs the org.eclipse.jst.validation.test test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.validation.test}" />
+ <param name="report" value="org.eclipse.jst.validation.test" />
+ </antcall>
+ </target>
+
+ <!-- RDB TESTS -->
+ <target name="wst-rdb-tests" description="Runs test.xml for
+ org.eclipse.wst.rdb.tests.dbdefinition">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.rdb.tests.dbdefinition}" />
+ <param name="report" value="org.eclipse.wst.rdb.tests.dbdefinition" />
+ </antcall>
+
+ </target>
+
+ <!-- JSP TESTS -->
+ <target name="jst-jsp-tests" description="Runs test.xml for
+ org.eclipse.jst.jsp.core.tests
+ org.eclipse.jst.jsp.ui.tests
+ org.eclipse.jst.jsp.tests.encoding">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsp.core.tests}" />
+ <param name="report" value="org.eclipse.jst.jsp.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsp.ui.tests}" />
+ <param name="report" value="org.eclipse.jst.jsp.ui.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsp.tests.encoding}" />
+ <param name="report" value="org.eclipse.jst.jsp.tests.encoding" />
+ </antcall>
+ </target>
+
+ <!-- SSE TESTS -->
+ <target name="wst-sse-tests" description="Runs test.xml for
+ org.eclipse.wst.sse.core.tests
+ org.eclipse.wst.sse.ui.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.sse.core.tests}" />
+ <param name="report" value="org.eclipse.wst.sse.core.tests" />
+ </antcall>
+
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.sse.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.sse.ui.tests" />
+ </antcall>
+ </target>
+
+ <!-- XML TESTS -->
+ <target name="wst-xml-tests" description="Runs test.xml for
+ org.eclipse.wst.xml.core.tests
+ org.eclipse.wst.xml.ui.tests
+ org.eclipse.wst.xml.tests.encoding
+ org.eclipse.wst.xml.validation.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.xml.core.tests}" />
+ <param name="report" value="org.eclipse.wst.xml.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.xml.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.xml.ui.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.xml.tests.encoding}" />
+ <param name="report" value="org.eclipse.wst.xml.tests.encoding" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.xml.validation.tests}" />
+ <param name="report" value="org.eclipse.wst.xml.validation.tests" />
+ </antcall>
+ </target>
+
+ <!-- WSDL TESTS -->
+ <target name="wst-wsdl-tests" description="Runs test.xml for
+ org.eclipse.wst.wsdl.tests
+ org.eclipse.wst.wsdl.validation.tests">
+ <antcall target="runapitests">
+ <param name="testPlugin" value="${org.eclipse.wst.wsdl.tests}" />
+ <param name="report" value="org.eclipse.wst.wsdl.tests" />
+ <param name="package.includes" value="org.eclipse.wst.wsdl"/>
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.wsdl.validation.tests}" />
+ <param name="report" value="org.eclipse.wst.wsdl.validation.tests" />
+ </antcall>
+ </target>
+
+ <!-- WSI TESTS -->
+ <target name="wst-wsi-tests" description="Runs test.xml for
+ org.eclipse.wst.wsi.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.wsi.tests}" />
+ <param name="report" value="org.eclipse.wst.wsi.tests" />
+ </antcall>
+ </target>
+
+ <!-- XSD TESTS -->
+ <target name="wst-xsd-tests" description="Runs test.xml for
+ org.eclipse.wst.xsd.validation.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.xsd.validation.tests}" />
+ <param name="report" value="org.eclipse.wst.xsd.validation.tests" />
+ </antcall>
+ </target>
+
+ <!-- HTML TESTS -->
+ <target name="wst-html-tests" description="Runs test.xml for
+ org.eclipse.wst.html.core.tests
+ org.eclipse.wst.html.ui.tests
+ org.eclipse.wst.html.tests.encoding">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.html.core.tests}" />
+ <param name="report" value="org.eclipse.wst.html.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.html.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.html.ui.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.html.tests.encoding}" />
+ <param name="report" value="org.eclipse.wst.html.tests.encoding" />
+ </antcall>
+ </target>
+
+ <!-- DTD Tests -->
+ <target name="wst-dtd-tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.dtd.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.dtd.ui.tests" />
+ </antcall>
+ </target>
+
+ <!-- CSS TESTS -->
+ <target name="wst-css-tests" description="Runs test.xml for
+ org.eclipse.wst.css.core.tests
+ org.eclipse.wst.css.ui.tests
+ org.eclipse.wst.css.tests.encoding">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.css.core.tests}" />
+ <param name="report" value="org.eclipse.wst.css.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.css.tests.encoding}" />
+ <param name="report" value="org.eclipse.wst.css.tests.encoding" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.css.ui.tests}" />
+ <param name="report" value="org.eclipse.wst.css.ui.tests" />
+ </antcall>
+ </target>
+
+ <!-- JSF TESTS -->
+ <target name="jsf-tests" description="Runs test.xml for org.eclipse.jst.jsf.core.tests, org.eclipse.jst.jsf.ui.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsf.core.tests}" />
+ <param name="report" value="org.eclipse.jst.jsf.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsf.ui.tests}" />
+ <param name="report" value="org.eclipse.jst.jsf.ui.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsf.metadata.tests}" />
+ <param name="report" value="org.eclipse.jst.jsf.metadata.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.jsf.contentassist.tests}" />
+ <param name="report" value="org.eclipse.jst.jsf.contentassist.tests" />
+ </antcall>
+ </target>
+
+ <!-- WS TESTS -->
+
+ <target name="wst-ws-tests" description="Runs the org.eclipse.wst.ws.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.ws.tests}" />
+ <param name="report" value="org.eclipse.wst.ws.tests" />
+ </antcall>
+ </target>
+
+ <target name="jst-ws-tests" description="Runs the org.eclipse.jst.ws.tests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.jst.ws.tests}" />
+ <param name="report" value="org.eclipse.jst.ws.tests" />
+ </antcall>
+ </target>
+
+ <!-- Faceted Project Framework Tests -->
+
+ <target name="wst-facets-tests" description="Runs the Faceted Project Framework tests.">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wst.common.project.facet.core.tests}" />
+ <param name="report" value="org.eclipse.wst.common.project.facet.core.tests" />
+ </antcall>
+ </target>
+
+ <target name="all" depends="init">
+ <property file="test2.properties"/>
+
+ <echo message="Starting WTP Unit Tests"/>
+
+ <echo message="Starting wst-server-tests"/>
+ <antcall target="wst-server-tests"/>
+
+ <echo message="Starting wst-monitor-tests"/>
+ <antcall target="wst-monitor-tests"/>
+
+ <echo message="Starting wst-cache-tests"/>
+ <antcall target="wst-cache-tests"/>
+
+ <echo message="Starting wst-common-tests"/>
+ <antcall target="wst-common-tests" />
+
+ <echo message="Starting wst-common-snippets-tests"/>
+ <antcall target="wst-common-snippets-tests"/>
+
+ <echo message="Starting wst-rdb-tests"/>
+ <antcall target="wst-rdb-tests"/>
+
+ <echo message="Starting wst-sse-tests"/>
+ <antcall target="wst-sse-tests" />
+
+ <echo message="Starting wst-xml-tests"/>
+ <antcall target="wst-xml-tests" />
+
+ <echo message="Starting wst-wsdl-tests"/>
+ <antcall target="wst-wsdl-tests" />
+
+ <echo message="Starting wst-wsi-tests"/>
+ <antcall target="wst-wsi-tests" />
+
+ <echo message="Starting wst-xsd-tests"/>
+ <antcall target="wst-xsd-tests" />
+
+ <echo message="Starting wst-html-tests"/>
+ <antcall target="wst-html-tests" />
+
+ <echo message="Starting wst-dtd-tests"/>
+ <antcall target="wst-dtd-tests" />
+
+ <echo message="Starting wst-css-tests"/>
+ <antcall target="wst-css-tests" />
+
+ <echo message="Starting wst-ws-tests"/>
+ <antcall target="wst-ws-tests" />
+
+
+ <echo message="Starting jst-server-tests"/>
+ <antcall target="jst-server-tests"/>
+
+ <echo message="Starting jst-server-tomcat-tests"/>
+ <antcall target="jst-server-tomcat-tests"/>
+
+ <echo message="Starting jst-server-geronimo-tests"/>
+ <antcall target="jst-server-geronimo-tests"/>
+
+ <echo message="Starting jst-server-generic-tests"/>
+ <antcall target="jst-server-generic-tests"/>
+
+ <echo message="Starting jst-j2ee-core-tests"/>
+ <antcall target="jst-j2ee-core-tests" />
+
+ <echo message="Starting jst-j2ee-tests"/>
+ <antcall target="jst-j2ee-tests" />
+
+ <echo message="Starting jst-servlet-tests"/>
+ <antcall target="jst-servlet-tests" />
+
+ <echo message="Starting jst-validation-framework-tests"/>
+ <antcall target="jst-validation-framework-tests" />
+
+ <echo message="Starting jst-jsp-tests"/>
+ <antcall target="jst-jsp-tests" />
+
+ <echo message="Starting jst-ws-tests"/>
+ <antcall target="jst-ws-tests" />
+
+ <echo message="Starting wst-facets-tests"/>
+ <antcall target="wst-facets-tests" />
+
+ <echo message="Ended WTP Unit Tests"/>
+
+ <echo message="Starting JSF Tests"/>
+ <antcall target="jsf-tests" />
+
+ </target>
+
+ <target name="genHtml" description="Generates HTML results with provided JUNIT.XSL provided" unless="genHtml.disable">
+ <style style="JUNIT.XSL" basedir="${results}/xml" destdir="${results}/html" />
+ </target>
+
+ <target name="computePluginVersion">
+ <java classname="org.eclipse.wtp.releng.test.ComputePluginVersion">
+ <classpath>
+ <pathelement location="ComputePluginVersion.jar"/>
+ </classpath>
+ <arg value="${eclipse-home}/plugins"/>
+ <arg value="test2.properties"/>
+ </java>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches.tests/testdependency.xml b/releng.wtpbuilder/distribution/patches.tests/testdependency.xml
new file mode 100644
index 0000000..dc864aa
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.tests/testdependency.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!-- ======================================================================
+ Properties that must be passed to this script:
+ base.install.dir
+ dependencyTargets
+ local.cache.dir
+ dependency.properties
+ baseos
+ basews
+ basearch
+
+ ====================================================================== -->
+<project name="test" default="get">
+
+ <target name="get">
+ <antcall target="getAndInstall">
+ <param name="groupId" value="emf" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="gef" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="jem" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="eclipse" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="eclipseTestFramework" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="tomcat.5" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="jonas.4" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="oagis.release" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="oagis.wsdl" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp-wst-test" />
+ </antcall>
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp-jst-test" />
+ </antcall>
+
+ </target>
+
+
+ <target name="getAndInstall">
+ <ant antfile="${dependencyTargets}" target="checkDependency">
+ <property name="groupId" value="${groupId}" />
+ </ant>
+ <ant antfile="${dependencyTargets}" target="installDependency">
+ <property name="groupId" value="${groupId}" />
+ <property name="install.destination" value="${base.install.dir}" />
+ </ant>
+ </target>
+
+
+
+
+</project>
+
diff --git a/releng.wtpbuilder/distribution/patches.upload/build.xml b/releng.wtpbuilder/distribution/patches.upload/build.xml
new file mode 100644
index 0000000..281c101
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.upload/build.xml
Binary files differ
diff --git a/releng.wtpbuilder/distribution/patches.upload/fallback.upload.properties b/releng.wtpbuilder/distribution/patches.upload/fallback.upload.properties
new file mode 100644
index 0000000..8cb2900
--- /dev/null
+++ b/releng.wtpbuilder/distribution/patches.upload/fallback.upload.properties
@@ -0,0 +1,12 @@
+uploadUser=david_williams
+uploadPassword="This is not really used since ssh login is assumed (required)"
+uploadServer=download.eclipse.org
+uploadRemoteDirectory=/home/data/users/david_williams/downloads/webtools/patches/drops
+
+# rsyncRootPrefix should be empty for linux machines.
+# Windows using cygwin will needs something like /cygdrive/G/
+# for what ever drive or directory is parent of build.home
+rsyncRootPrefix=
+
+
+build.upload=true
\ No newline at end of file