Build - test+site changes
diff --git a/releng.wtpbuilder/components/jsf.tests/build.properties b/releng.wtpbuilder/components/jsf.tests/build.properties
new file mode 100644
index 0000000..7a336f1
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/build.properties
@@ -0,0 +1,77 @@
+###############################################################################
+# Copyright (c) 2006 Oracle.
+# 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:
+# Oracle - 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 ################
+# The CVS tag to use when fetching the map files from the repository
+mapVersionTag=HEAD
+
+############## 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=I
+
+# 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.
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+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=
+
+############# JAVA COMPILER OPTIONS ##############
+# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
+#bootclasspath=d:/ibm1.3.1/jre/lib/rt.jar
+#bootclasspath=D:\\java\\j2sdk1.4.2_05\\jre\\lib\\rt.jar
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=false
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=true
diff --git a/releng.wtpbuilder/components/jsf.tests/customTargets.xml b/releng.wtpbuilder/components/jsf.tests/customTargets.xml
new file mode 100644
index 0000000..5237825
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/customTargets.xml
@@ -0,0 +1,207 @@
+<project name="Build specific targets and properties" default="noDefault" >
+ <property name="postingDirectory" value="${buildDirectory}" />
+
+<!-- ===================================================================== -->
+<!-- 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}" />
+
+ <ant antfile="${genericTargets}" target="${target}" >
+ <property name="type" value="feature" />
+ <property name="id" value="org.eclipse.wtp.jsf.tests.feature" />
+ </ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Targets to assemble the built elements for particular configurations -->
+<!-- These generally call the generated assemble scripts (named in -->
+<!-- ${assembleScriptName}) but may also add pre and post processing -->
+<!-- Add one target for each root element and each configuration -->
+<!-- ===================================================================== -->
+
+<target name="assemble.org.eclipse.wtp.jsf.tests.feature">
+ <property name="archiveName" value="wtp-jsf-Automated-Tests-${buildLabel}.zip" />
+
+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}" />
+
+ <mkdir dir="${postingDirectory}/${buildLabel}/checksum" />
+ <checksum file="${postingDirectory}/${buildLabel}/wtp-jsf-Automated-Tests-${buildLabel}.zip" property="md5" />
+
+ <echo message="${md5} *wtp-jsf-Automated-Tests-${buildLabel}.zip"
+ file="${postingDirectory}/${buildLabel}/checksum/wtp-jsf-Automated-Tests-${buildLabel}.zip.md5" />
+ <echo message="${md5}"
+ file="${postingDirectory}/${buildLabel}/checksum/wtp-jsf-Automated-Tests-${buildLabel}.zip.md5antformat" />
+</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-jsf" />
+</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" />
+ <property name="cvsPackage" value="releng-jsf" />
+ <echo message="${mapCvsRoot} ${mapVersionTag} "/>
+ <echo message="cvsPackage = ${cvsPackage} "/>
+
+ <cvs cvsRoot="${mapCvsRoot}" package="${cvsPackage}" 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" />
+ <echo message="ant.file: ${ant.file}" />
+ <echo message="component.dir: ${component.dir}" />
+
+ <ant antfile="${component.dir}/dependency.xml" target="get">
+ <property name="dependency.properties" value="${buildDirectory}/maps/releng-jsf/maps/dependencies.properties" />
+ <property name="base.install.dir" value="${buildRoot}" />
+ </ant>
+ <!--fetch the additional pieces to build JSF tests -->
+ <property name="featureOnly" value="false" />
+ <property name="featureAndPlugins" value="true" />
+ <property name="featuresRecursively" value="true" />
+
+ <ant antfile="${genericTargets}" dir="${pde.build.scripts}" target="fetchElement">
+ <property name="type" value="feature" />
+ <property name="id" value="org.eclipse.wtp.jsf.tests.feature" />
+ </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">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running the build.xmls for the elements being built. -->
+<!-- ===================================================================== -->
+<target name="postProcess">
+</target>
+
+
+<!-- ===================================================================== -->
+<!-- Steps to do before running assemble. -->
+<!-- ===================================================================== -->
+<target name="preAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after running assemble. -->
+<!-- ===================================================================== -->
+<target name="postAssemble">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after the build is done. -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+
+ <!-- create zipped up versions for update site -->
+ <property name="UpdateSiteStagingLocation" value="${buildDirectory}/updateSite" />
+ <antcall target="generateUpdateSite" />
+</target>
+
+<target name="generateUpdateSite">
+ <!-- Create the directory structure -->
+ <mkdir dir="${UpdateSiteStagingLocation}" />
+ <mkdir dir="${UpdateSiteStagingLocation}/features" />
+ <mkdir dir="${UpdateSiteStagingLocation}/plugins" />
+ <!-- Build the jar files -->
+ <antcall target="allElements">
+ <param name="genericTargets" value="${builder}/customTargets.xml" />
+ <param name="target" value="updateSiteExport" />
+ </antcall>
+ <antcall target="copySiteXmlFromCvs" />
+ <antcall target="createNightlyBuildSiteXml" />
+</target>
+<target name="updateSiteExport">
+ <ant antfile="build.xml"
+ dir="${buildDirectory}/features/${id}/"
+ target="build.update.jar">
+ <property name="feature.destination" value="${UpdateSiteStagingLocation}/features" />
+ <property name="plugin.destination" value="${UpdateSiteStagingLocation}/plugins" />
+ </ant>
+</target>
+<target name="copySiteXmlFromCvs" unless="isNightlyBuild">
+ <!-- connect to CVS and fetch site.xml, copy to ${UpdateSiteStagingLocation}/site.xml afterwards -->
+</target>
+<target name="createNightlyBuildSiteXml" if="isNightlyBuild">
+ <!-- create ${UpdateSiteStagingLocation}/site.xml which contains only the nighlty build version -->
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to test the build results -->
+<!-- ===================================================================== -->
+<target name="test" unless="dontRunTests">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do to publish the build results -->
+<!-- ===================================================================== -->
+<target name="publish">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Default target -->
+<!-- ===================================================================== -->
+<target name="noDefault">
+ <echo message="You must specify a target when invoking this file" />
+</target>
+
+</project>
diff --git a/releng.wtpbuilder/components/jsf.tests/dependency.xml b/releng.wtpbuilder/components/jsf.tests/dependency.xml
new file mode 100644
index 0000000..b5b30e7
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/dependency.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!-- ======================================================================
+ Properties that must be passed to this script:
+ base.install.dir
+ dependencyTargets
+ local.cache.dir
+ dependency.properties
+ baseos
+ basews
+ basearch
+
+ jsf Dependencies:
+
+ ====================================================================== -->
+<project name="test" default="get">
+
+ <target name="get">
+
+ <antcall target="getAndInstall">
+ <param name="groupId" value="wtp" />
+ </antcall>
+ <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>
+
+
+ </target>
+
+ <target name="getAndInstall">
+
+ <echo message="dependencyTargets: ${dependencyTargets}" />
+
+ <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/jsf.build/build.xml b/releng.wtpbuilder/distribution/jsf.build/build.xml
index cdaf0f2..9b2fb44 100644
--- a/releng.wtpbuilder/distribution/jsf.build/build.xml
+++ b/releng.wtpbuilder/distribution/jsf.build/build.xml
@@ -22,7 +22,7 @@
<property file="${buildDirectory}/label.properties" />
<ant antfile="${monitorTargets}" target="notifyBuild" >
- <property name="testManifest" value="${distribution.wtp.build.dir}/../wtp.site/testManifest.xml"/>
+ <property name="testManifest" value="${distribution.wtp.build.dir}/../jsf.site/testManifest.xml"/>
<property name="buildBranch" value="${buildBranch}"/>
</ant>
</target>
diff --git a/releng.wtpbuilder/distribution/jsf.site/build.xml b/releng.wtpbuilder/distribution/jsf.site/build.xml
new file mode 100644
index 0000000..051ee80
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/build.xml
@@ -0,0 +1,69 @@
+<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="-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/jsftestlog.txt" />
+ </condition>
+ <condition property="isBuildTested" value="false">
+ <not>
+ <available file="${buildDirectory}/${buildLabel}/testResults/consolelogs/jsftestlog.txt" />
+ </not>
+ </condition>
+
+ <ant antfile="${publish.xml}" dir="${component.dir}">
+ <property name="dropTokenList" value="%jsf-runtime%,%jsf-tests%" />
+
+ <!-- To Do: No committer drop site for JSF yet ? -->
+ <property name="jsfDownloadURL" value="http://www.eclipse.org/downloads/download.php?file=/webtools/jsf/committers/drops"/>
+
+ <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/jsf.site/publish.xml b/releng.wtpbuilder/distribution/jsf.site/publish.xml
new file mode 100644
index 0000000..5924b3c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/publish.xml
@@ -0,0 +1,133 @@
+<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="${jsfDownloadURL}/${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}" />
+
+
+ <!-- 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 directories-->
+ <mkdir dir="${result}/buildnotes" />
+ <copy todir="${result}/buildnotes" flatten="true">
+ <fileset dir="${buildDirectory}/plugins" 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="@type@" value="Integration" />
+ </target>
+
+ <target name="S">
+ <replace file="${result}/${indexFileName}" token="@type@" value="Stable" />
+ </target>
+
+ <target name="N">
+ <replace file="${result}/${indexFileName}" token="@type@" value="Nightly" />
+ </target>
+
+ <target name="M">
+ <replace file="${result}/${indexFileName}" token="@type@" value="Maintenance" />
+ </target>
+
+ <target name="R">
+ <replace file="${result}/${indexFileName}" token="@type@" value="Release" />
+ </target>
+
+ <target name="T">
+ <replace file="${result}/${indexFileName}" token="@type@" value="Test" />
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/FAIL.gif b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/FAIL.gif
new file mode 100644
index 0000000..28bba66
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/FAIL.gif
Binary files differ
diff --git a/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/OK.gif b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/OK.gif
new file mode 100644
index 0000000..689e523
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/OK.gif
Binary files differ
diff --git a/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/buildNotes.php b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/buildNotes.php
new file mode 100644
index 0000000..cd7175b
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/buildNotes.php
@@ -0,0 +1,62 @@
+<html>
+<head>
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ // Get build type names
+
+ $fileHandle = fopen("../../dlconfig.txt", "r");
+ while (!feof($fileHandle)) {
+
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $parts = explode(",", $aLine);
+ $dropNames[trim($parts[0])] = trim($parts[1]);
+ }
+ fclose($fileHandle);
+
+ $buildType = $dropNames[$parts2[0]];
+
+ echo "<title>Build Notes for $buildType $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 "$buildType $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/jsf.site/staticDropFiles/componentxmls.php b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/componentxmls.php
new file mode 100644
index 0000000..73c5443
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/staticDropFiles/consoleLogs.php b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/consoleLogs.php
new file mode 100644
index 0000000..93d9886
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/consoleLogs.php
@@ -0,0 +1,70 @@
+<html>
+<head>
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ // Get build type names
+
+ $fileHandle = fopen("../../dlconfig.txt", "r");
+ while (!feof($fileHandle)) {
+
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $parts = explode(",", $aLine);
+ $dropNames[trim($parts[0])] = trim($parts[1]);
+ }
+ fclose($fileHandle);
+
+ $buildType = $dropNames[$parts2[0]];
+
+ echo "<title>Test Console Output for $buildType $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 "$buildType $buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ $aDirectory = dir("testResults/consolelogs");
+ $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=\"testResults/consolelogs/$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/jsf.site/staticDropFiles/download.php b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/download.php
new file mode 100644
index 0000000..671e743
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/download.php
@@ -0,0 +1,54 @@
+<html>
+<head>
+<title>Eclipse JSF 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/jsf.site/staticDropFiles/pii.php b/releng.wtpbuilder/distribution/jsf.site/staticDropFiles/pii.php
new file mode 100644
index 0000000..e3ed59b
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/templateFiles/buildresult.xml.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/buildresult.xml.template
new file mode 100644
index 0000000..1fdede5
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/templateFiles/buildresult.xml.template
@@ -0,0 +1,2 @@
+<eclipsebuild buildlabel="@buildlabel@">
+</eclipsebuild>
diff --git a/releng.wtpbuilder/distribution/jsf.site/templateFiles/cloudscapeplugin.xml.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/cloudscapeplugin.xml.template
new file mode 100644
index 0000000..3f7a21b
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/templateFiles/cloudscapeplugin.xml.template
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin
+ id="Cloudscape"
+ name="Cloudscape Plug-in"
+ version="1.0.0"
+ provider-name="">
+ <runtime>
+ <library name="derby.jar">
+ <export name="*"/>
+ </library>
+ <library name="derbynet.jar">
+ <export name="*"/>
+ </library>
+ <library name="derbytools.jar">
+ <export name="*"/>
+ </library>
+ </runtime>
+</plugin>
diff --git a/releng.wtpbuilder/distribution/jsf.site/templateFiles/index.html.N.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/index.html.N.template
new file mode 100644
index 0000000..8a68714
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/templateFiles/index.html.N.template
@@ -0,0 +1,128 @@
+<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;
+$violations = parse("apitools/index.xml", "count=\"");
+$tc = parse("apitools/index-api-tc.xml", "missing-coverage-count=\"");
+$removed_apis = parse("apitools/index-api-compatibility.xml", "removed-api-count=\"");
+?>
+
+ <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> <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>
+
+<?php
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/compile_err.gif\"/><font color=red>$compileErrors</font> ";
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/compile_warn.gif\"/><font color=orange>$compileWarnings</font> ";
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/junit_err.gif\"/><font color=red>$junitFailures</font>";
+?>
+
+<br> <a href="whatisfixed/buglog.html">What is fixed</a>
+
+<!--
+<br> <a href="perf/results/graph/global.php">Performance results</a>
+-->
+<br> <a href="pii.php">Unused property messages</a>
+<!-- To view cvs changes since the last build click <A href="rloghtml/rlog.html">here</A>.<BR> -->
+<p/>
+
+<?php
+if (file_exists("./apiresults"))
+{
+ echo "<br>";
+ echo "<br> <a href=\"apiresults/api-progress.html\">API Progress Report</a>";
+ echo "<br> <a href=\"apiresults/api-info-summary.html\">APIs Defined by Each Component</a>";
+ echo "<br> <a href=\"apiresults/api-ref-compatibility.html\">Adopter Breakage Report</a>";
+ echo "<br> <a href=\"apiresults/api-violation-summary.html\">API Violations</a>";
+ echo "<br> <a href=\"apiresults/component-api-violation-all.html\">Non-API dependencies</a>";
+ echo "<br> <a href=\"apiresults/api-tc-summary.html\">API Test Coverage</a>";
+ echo "<br> <a href=\"apiresults/api-javadoc-summary.html\">API Javadoc Coverage</a>";
+}
+?>
+
+<?php
+if (file_exists("./perfresults"))
+{
+ echo "<br>";
+ echo "<br> <a href=\"perfresults/graph/performance.php\">Performance Results</a>";
+ echo "<br>";
+}
+?>
+
+<!-- *********** Requirements ************** -->
+<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">Requirements</font></b></td></tr></table>
+<P>These are the prerequisites to install JSF;. They must be downloaded and installed
+ before JSF can be installed.</P>
+<br>
+<li>The Eclipse driver used in this build is <a href="@eclipseURL@">@eclipseFile@</a>. You can find a suitable driver for your platform at <a href=@eclipseBuildURL@>here</a><br></li>
+<li>The EMF driver used in this build is <a href="@emfURL@">@emfFile@</a><br></li>
+<li>The GEF driver used in this build is <a href="@gefURL@">@gefFile@</a><br></li>
+<li>Java EMF Model Runtime driver used in this build is <a href="@jemURL@">@jemFile@</a><br></li>
+<li>The WTP runtime module used in this build is <a href="@wtpURL@">@wtpFile@</a><br></li>
+<P></P>
+
+
+
+<!-- *********** 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">
+ JSF Runtime </font></b></td>
+ </tr>
+
+<TR>
+ <TD align="LEFT" valign="TOP" colspan="3"> This module includes the complete
+ set of plug-in to run JSF.</TD>
+ </TR></table>
+
+<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>
+%jsf-runtime%
+</table>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td colspan="2"> </td></tr></table>
+
+
+<!-- *********** Automated Test Downloads ************** -->
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td align=LEFT valign=TOP colspan="3" bgcolor="#999999">
+<b><font face="Arial,Helvetica" color="#FFFFFF">
+Automated Tests
+</font></b></td></tr>
+
+<TR>
+ <TD align="LEFT" valign="TOP" colspan="3"> This download contains the JUnit
+ tests for the JSF project</TD>
+ </TR></table>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td colspan="2"> </td></tr></table>
+
+<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>
+<tr><td>%jsf-tests%</td></tr>
+</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/jsf.site/templateFiles/index.html.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/index.html.template
new file mode 100644
index 0000000..64c6b88
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/templateFiles/index.html.template
@@ -0,0 +1,119 @@
+<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> <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>
+
+<?php
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/compile_err.gif\"/><font color=red>$compileErrors</font> ";
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/compile_warn.gif\"/><font color=orange>$compileWarnings</font> ";
+echo "<img src=\"http://download.eclipse.org/webtools/jsf/downloads/junit_err.gif\"/><font color=red>$junitFailures</font>";
+?>
+<br> <a href="whatisfixed/buglog.html">What is fixed</a>
+
+<br> <a href="pii.php">Unused property messages</a>
+<!-- To view cvs changes since the last build click <A href="rloghtml/rlog.html">here</A>.<BR> -->
+
+<?php
+if (file_exists("./apiresults"))
+{
+ echo "<br>";
+ echo "<br> <a href=\"apiresults/api-progress.html\">API Progress Report</a>";
+ echo "<br> <a href=\"apiresults/api-info-summary.html\">APIs Defined by Each Component</a>";
+ echo "<br> <a href=\"apiresults/api-ref-compatibility.html\">Adopter Breakage Report</a>";
+ echo "<br> <a href=\"apiresults/api-violation-summary.html\">API Violations</a>";
+ echo "<br> <a href=\"apiresults/component-api-violation-all.html\">Non-API dependencies</a>";
+ echo "<br> <a href=\"apiresults/api-tc-summary.html\">API Test Coverage</a>";
+ echo "<br> <a href=\"apiresults/api-javadoc-summary.html\">API Javadoc Coverage</a>";
+}
+?>
+
+<?php
+if (file_exists("./perfresults"))
+{
+ echo "<br>";
+ echo "<br> <a href=\"perfresults/graph/performance.php\">Performance Results</a>";
+ echo "<br>";
+}
+?>
+
+<!-- *********** Requirements ************** -->
+<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">Requirements</font></b></td></tr></table>
+<P>These are the prerequisites to install JSF;. They must be downloaded and installed
+ before JSF can be installed.</P>
+<br>
+<li>The Eclipse driver used in this build is <a href="@eclipseURL@">@eclipseFile@</a>. You can find a suitable driver for your platform at <a href=@eclipseBuildURL@>here</a><br></li>
+<li>The EMF driver used in this build is <a href="@emfURL@">@emfFile@</a><br></li>
+<li>The GEF driver used in this build is <a href="@gefURL@">@gefFile@</a><br></li>
+<li>Java EMF Model Runtime driver used in this build is <a href="@jemURL@">@jemFile@</a><br></li>
+<li>The WTP runtime module used in this build is <a href="@wtpURL@">@wtpFile@</a><br></li>
+<P></P>
+
+
+
+<!-- *********** 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">
+ JSF Runtime </font></b></td>
+ </tr>
+
+<TR>
+ <TD align="LEFT" valign="TOP" colspan="3"> This module includes the complete
+ set of plug-in to run JSF. </TD>
+ </TR></table>
+
+<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>
+%jsf-runtime%
+</table>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td colspan="2"> </td></tr></table>
+
+
+<!-- *********** Automated Test Downloads ************** -->
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td align=LEFT valign=TOP colspan="3" bgcolor="#999999">
+<b><font face="Arial,Helvetica" color="#FFFFFF">
+Automated Tests
+</font></b></td></tr>
+
+<TR><TD align="LEFT" valign="TOP" colspan="3">
+This download contains the JUnit tests for the JSF Projects
+</TD></TR></table>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" ><tr><td colspan="2"> </td></tr></table>
+
+<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>
+<tr><td>%jsf-tests%</td></tr>
+</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/jsf.site/templateFiles/monitor-all.php.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/monitor-all.php.template
new file mode 100644
index 0000000..a214891
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/templateFiles/monitor-compile.php.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/monitor-compile.php.template
new file mode 100644
index 0000000..74927d6
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/templateFiles/monitor-tests.php.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/monitor-tests.php.template
new file mode 100644
index 0000000..d31b525
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/templateFiles/performance.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/performance.template
new file mode 100644
index 0000000..f8abfbc
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.site/templateFiles/testResults.php.template b/releng.wtpbuilder/distribution/jsf.site/templateFiles/testResults.php.template
new file mode 100644
index 0000000..f39f71c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/templateFiles/testResults.php.template
@@ -0,0 +1,101 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ // Get build type names
+
+ $fileHandle = fopen("../../dlconfig.txt", "r");
+ while (!feof($fileHandle)) {
+
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $parts = explode(",", $aLine);
+ $dropNames[trim($parts[0])] = trim($parts[1]);
+ }
+ fclose($fileHandle);
+
+ $buildType = $dropNames[$parts2[0]];
+
+ echo "<title>Test Results for $buildType $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 "$buildType $buildName"; ?> on Various Platforms and JRE</font></b></td>
+ </tr>
+</table>
+
+<?php
+$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 "$buildType $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 "$buildType $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/jsf.site/testManifest.xml b/releng.wtpbuilder/distribution/jsf.site/testManifest.xml
new file mode 100644
index 0000000..7d6023b
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.site/testManifest.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<topLevel>
+ <zipTypes>
+ <zipType name="jsf-runtime">
+ <platform
+ id="JSF-RUN"
+ name="All"
+ fileName='<a href="@mirror@wtp-jsf-@build@.zip">wtp-jsf-@build@.zip</a>(<a href="checksum/wtp-jsf-@build@.zip.md5">md5</a>) <font size="2"></font>'>
+ </platform>
+ </zipType>
+
+ <zipType name="jsf-tests">
+ <platform
+ id="JSF-TESTS"
+ name="All"
+ fileName='<a href="@mirror@wtp-jsf-Automated-Tests-@build@.zip">wtp-jsf-Automated-Tests-@build@.zip</a> (<a href="checksum/wtp-jsf-Automated-Tests-@build@.zip.md5">md5</a>) <font size="2"></font>'>
+ </platform>
+ </zipType>
+
+ </zipTypes>
+</topLevel>
diff --git a/releng.wtpbuilder/distribution/jsf.tests/build.xml b/releng.wtpbuilder/distribution/jsf.tests/build.xml
new file mode 100644
index 0000000..5409373
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/build.xml
@@ -0,0 +1,89 @@
+<project name="Build specific targets and properties" default="test">
+ <property name="postingDirectory" value="${buildDirectory}" />
+
+ <!-- ===================================================================== -->
+ <!-- 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="${wtp.builder.home}/build.properties" />
+ <property file="${buildDirectory}/label.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-jsf/maps/dependencies.properties" />
+ <property name="base.install.dir" value="${testRoot}" />
+ </ant>
+ <unzip dest="${testRoot}" src="${postingDirectory}/${buildLabel}/wtp-jsf-${buildLabel}.zip" overwrite="true" />
+ <unzip dest="${testRoot}" src="${postingDirectory}/${buildLabel}/wtp-jsf-Automated-Tests-${buildLabel}.zip" overwrite="true" />
+
+ <antcall target="runTestEclipse">
+ <param name="testTarget" value="all" />
+ </antcall>
+ <antcall target="postRunTestEclipse">
+ <param name="testTarget" value="all" />
+ </antcall>
+
+ <property name="monitorTargets" value="${wtp.builder.home}/scripts/monitoring/build.xml" />
+ <ant antfile="${monitorTargets}" target="notifyTest" >
+ <property name="testManifest" value="${wtp.builder.home}/distribution/jsf.site/testManifest.xml"/>
+ </ant>
+ </target>
+
+ <target name="runTestEclipse">
+ <java taskname="test-jsf-${testTarget}" classpath="${testRoot}/eclipse/startup.jar" fork="true" classname="org.eclipse.core.launcher.Main" failonerror="true" timeout="3600000" output="${testRoot}/results/consolelogs/jsftestlog.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="-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/jsf.tests/templateFiles/index.php b/releng.wtpbuilder/distribution/jsf.tests/templateFiles/index.php
new file mode 100644
index 0000000..0f041c6
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/templateFiles/index.php
@@ -0,0 +1,70 @@
+<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;
+ echo "<tr><td><a href=\"$link\">";
+ echo "$anEntry";
+ echo "</a></td>";
+ $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);
+ 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/jsftestlog.txt">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jsf.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/distribution/jsf.tests/testScripts/JUNIT.XSL
new file mode 100644
index 0000000..f632657
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.tests/testScripts/api-tests.xml b/releng.wtpbuilder/distribution/jsf.tests/testScripts/api-tests.xml
new file mode 100644
index 0000000..8aad53d
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/testScripts/api-tests.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<project name="API tests" basedir="." >
+
+ <property file="${testDir}/buildAll.properties"/>
+ <property file="${testDir}/build.cfg"/>
+
+ <property name="library-xml-file" value="${basedir}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+ <import file="${library-xml-file}"/>
+
+ <target name="ui-test">
+ <antcall target="runPIAgent">
+ <param name="application" value="org.eclipse.test.uitestapplication"/>
+ </antcall>
+ </target>
+
+ <target name="core-test">
+ <antcall target="runPIAgent">
+ <param name="application" value="org.eclipse.test.coretestapplication"/>
+ </antcall>
+ </target>
+
+ <target name="init">
+ <property name="piagentDir" value="${testDir}/piagent"/>
+ <property name="component.core" value="releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core"/>
+ <condition property="piAgent.exists">
+ <or>
+ <available property="piAgent.dll.exists" file="${piagentDir}/piAgent.dll"/>
+ <available property="libpiAgent.so.exists" file="${piagentDir}/libpiAgent.so"/>
+ </or>
+ </condition>
+ <antcall target="init2"/>
+ </target>
+
+ <target name="init2" unless="piAgent.exists">
+ <mkdir dir="${piagentDir}"/>
+ <cvs
+ cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
+ package="${component.core}"
+ dest="${piagentDir}"
+ command="export"
+ tag="HEAD"
+ />
+ <mkdir dir="${piagentDir}/${component.core}/bin"/>
+ <javac
+ srcdir="${piagentDir}/${component.core}/src"
+ destdir="${piagentDir}/${component.core}/bin"
+ fork="true">
+ <classpath>
+ <fileset dir="${baseLocation}/plugins">
+ <include name="**/*.jar" />
+ </fileset>
+ </classpath>
+ </javac>
+ <condition property="piAgentURL" value="${piAgentURL.linux}">
+ <equals arg1="${os}" arg2="linux" />
+ </condition>
+ <condition property="piAgentURL" value="${piAgentURL.win32}">
+ <equals arg1="${os}" arg2="win32" />
+ </condition>
+ <condition property="piAgentFile" value="${piAgentFile.linux}">
+ <equals arg1="${os}" arg2="linux" />
+ </condition>
+ <condition property="piAgentFile" value="${piAgentFile.win32}">
+ <equals arg1="${os}" arg2="win32" />
+ </condition>
+ <condition property="os.linux">
+ <equals arg1="${os}" arg2="linux" />
+ </condition>
+ <condition property="os.win32">
+ <equals arg1="${os}" arg2="win32" />
+ </condition>
+ <available file="${build.home}/${build.drivers}/${piAgentFile}" property="piAgent.exists"/>
+ <antcall target="getPIAgent"/>
+ <antcall target="setupPIAgentLinux"/>
+ <antcall target="setupPIAgentWin32"/>
+ </target>
+
+ <target name="getPIAgent" unless="piAgent.exists">
+ <get src="${piAgentURL}" dest="${build.home}/${build.drivers}/${piAgentFile}"/>
+ </target>
+
+ <target name="setupPIAgentLinux" if="os.linux">
+ <unzip dest="${piagentDir}" src="${build.home}/${build.drivers}/${piAgentFile}">
+ <patternset>
+ <include name="**/*.so"/>
+ </patternset>
+ </unzip>
+ <move todir="${piagentDir}" flatten="true">
+ <fileset dir="${piagentDir}/lib"/>
+ </move>
+ <copy file="${piagentDir}/${component.core}/apiagent/libpiAgent.so" tofile="${piagentDir}/libpiAgent.so" overwrite="true"/>
+ </target>
+
+ <target name="setupPIAgentWin32" if="os.win32">
+ <unzip dest="${piagentDir}" src="${build.home}/${build.drivers}/${piAgentFile}">
+ <patternset>
+ <include name="**/*.dll"/>
+ </patternset>
+ </unzip>
+ <move todir="${piagentDir}" flatten="true">
+ <fileset dir="${piagentDir}/bin"/>
+ </move>
+ <copy file="${piagentDir}/${component.core}/apiagent/piAgent.dll" tofile="${piagentDir}/piAgent.dll" overwrite="true"/>
+ </target>
+
+ <target name="runPIAgent" depends="init">
+ <property name="piagentDir" value="${testDir}/piagent"/>
+ <property name="component.core" value="org.eclipse.wtp.releng/apitools/org.eclipse.wtp.releng.tools.component.core"/>
+ <condition property="piAgent.exists">
+ <and>
+ <or>
+ <available property="piAgent.dll.exists" file="${piagentDir}/piAgent.dll"/>
+ <available property="libpiAgent.so.exists" file="${piagentDir}/libpiAgent.so"/>
+ </or>
+ <available property="buildDirectory.exists" file="${buildDirectory}"/>
+ <isset property="package.includes"/>
+ </and>
+ </condition>
+ <antcall target="runPIAgent2"/>
+ </target>
+
+ <target name="runPIAgent2" if="piAgent.exists">
+ <java classname="org.eclipse.wtp.releng.tools.component.piagent.PIAgentFiltersEmitter" fork="true" maxmemory="256m">
+ <arg line="-eclipseDirs ${buildDirectory}/plugins -compXMLDirs ${buildDirectory}/plugins -outputFile ${piagentDir}/piagent_filters.txt -includes ${package.includes}" />
+ <classpath>
+ <pathelement path="${piagentDir}/${component.core}/bin"/>
+ <fileset dir="${baseLocation}/plugins">
+ <include name="**/*.jar" />
+ </fileset>
+ </classpath>
+ </java>
+ <tstamp>
+ <format property="TIMENOW" pattern="HHmmssSSSS"/>
+ </tstamp>
+ <property name="vmargs" value=""/>
+ <property name="launcher" value="org.eclipse.core.launcher.Main"/>
+ <property name="formatter" value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"/>
+ <property name="extraVMargs" value=""/>
+ <property name="plugin-path" value=""/>
+ <property name="timeout" value="7200000"/>
+ <property file="${testDir}/eclipse/configuration/config.ini"/>
+ <echo message="Running ${classname}"/>
+ <mkdir dir="${buildDirectory}/apitools/piagentoutput"/>
+ <delete file="${buildDirectory}/apitools/piagentoutput/${classname}.trcxml" failonerror="false"/>
+ <exec dir="${piagentDir}" executable="java" timeout="${timeout}">
+ <env key="LD_LIBRARY_PATH" value="${piagentDir}"/>
+ <env key="java.library.path" value="${piagentDir}"/>
+ <env key="PLUGIN_PATH" value="${plugin-path}"/>
+ <arg line="-cp ${testDir}/eclipse/startup.jar -XrunpiAgent:server=standalone,profile=${piagentDir}/${component.core}/apiagent/piagent_options.txt,filters=${piagentDir}/piagent_filters.txt,file=${buildDirectory}/apitools/piagentoutput/${plugin-name}-${classname}.trcxml -Xmx512M ${vmargs} ${extraVMargs} ${launcher} -application ${application} -dev bin -data ${data-dir} formatter=${formatter},${testDir}/eclipse/${classname}.xml -testPluginName ${plugin-name} -className ${classname} -os ${os} -ws ${ws} -arch ${arch} -consolelog"/>
+ </exec>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jsf.tests/testScripts/junit-tests.xml b/releng.wtpbuilder/distribution/jsf.tests/testScripts/junit-tests.xml
new file mode 100644
index 0000000..db800fd
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.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/jsf.tests/testScripts/performance-tests.xml b/releng.wtpbuilder/distribution/jsf.tests/testScripts/performance-tests.xml
new file mode 100644
index 0000000..38b610f
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/testScripts/performance-tests.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<project name="WTP Performance" default="default" basedir="." >
+
+ <property name="library-xml-file" value="${basedir}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+ <import file="${library-xml-file}"/>
+
+ <target name="ui-test">
+ <antcall target="ui-test-normal"/>
+ <antcall target="ui-test-perf"/>
+ </target>
+
+ <target name="core-test">
+ <antcall target="core-test-normal"/>
+ <antcall target="core-test-perf"/>
+ </target>
+
+ <target name="ui-test-normal" unless="runAsPerfApp">
+ <antcall target="run">
+ <param name="target" value="ui-test"/>
+ </antcall>
+ </target>
+
+ <target name="core-test-normal" unless="runAsPerfApp">
+ <antcall target="run">
+ <param name="target" value="core-test"/>
+ </antcall>
+ </target>
+
+ <target name="ui-test-perf" if="runAsPerfApp">
+ <antcall target="run">
+ <param name="target" value="eclipse-test"/>
+ <param name="application" value="org.eclipse.wst.common.tests.performance.uitestapplication"/>
+ </antcall>
+ </target>
+
+ <target name="core-test-perf" if="runAsPerfApp">
+ <antcall target="run">
+ <param name="target" value="eclipse-test"/>
+ <param name="application" value="org.eclipse.wst.common.tests.performance.coretestapplication"/>
+ </antcall>
+ </target>
+
+ <target name="run">
+
+ <property name="eclipse.perf.dbloc" value="-Declipse.perf.dbloc=${build.home}/${perf.dbloc}"/>
+ <property name="eclipse.perf.config" value="-Declipse.perf.config=config=${perf.config};build=${perf.buildId};jvm=${perf.jvm}"/>
+ <property name="eclipse.perf.assertAgainst" value="-Declipse.perf.assertAgainst=config=${perf.ref.config};build=${perf.ref.buildId};jvm=${perf.ref.jvm}"/>
+ <property name="extraVMargs" value=""/>
+
+ <ant target="${target}" antfile="${library-xml-file}" dir="${basedir}">
+ <property name="application" value="${application}"/>
+ <property name="data-dir" value="${data-dir}"/>
+ <property name="plugin-name" value="${plugin-name}"/>
+ <property name="classname" value="${classname}"/>
+ <property name="extraVMargs" value="${eclipse.perf.dbloc} ${eclipse.perf.config} ${eclipse.perf.assertAgainst} ${extraVMargs} -Dwtp.autotest.noninteractive=true"/>
+ </ant>
+
+ </target>
+
+ <target name="default"/>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jsf.tests/testScripts/test.properties b/releng.wtpbuilder/distribution/jsf.tests/testScripts/test.properties
new file mode 100644
index 0000000..13c7bc2
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/testScripts/test.properties
@@ -0,0 +1,7 @@
+# JSF Tests
+org.eclipse.wtp.jsf.core.tests=org.eclipse.wtp.jsf.core.tests_0.1.0
+org.eclipse.wtp.jsf.ui.tests=org.eclipse.wtp.jsf.ui.tests_0.1.0
+
+# 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/jsf.tests/testScripts/test.xml b/releng.wtpbuilder/distribution/jsf.tests/testScripts/test.xml
new file mode 100644
index 0000000..4bec2a5
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/testScripts/test.xml
@@ -0,0 +1,190 @@
+<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" />
+
+ <target name="init">
+
+ </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="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"/>
+ <!--
+ <antcall target="runtests-runAsPerfApp"/>
+ -->
+ <copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${platform}.xml" failonerror="false" />
+ <antcall target="genHtml" />
+ </target>
+
+ <target name="runtests-normal" unless="runAsPerfApp">
+ <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="runtests-runAsPerfApp" if="runAsPerfApp">
+ <ant antfile="${eclipse-home}/plugins/${testPlugin}/test.xml" dir="${eclipse-home}">
+ <property name="library-file" value="${testDir}/performance-tests.xml"/>
+ <property name="runAsPerfApp" value="true"/>
+ </ant>
+ <copy file="${eclipse-home}/${report}.xml" tofile="${results}/xml/${report}_${platform}.xml" failonerror="false" />
+ <antcall target="genHtml" />
+ </target>
+
+ <target name="runperftests">
+ <antcall target="setupPerformance"/>
+ <antcall target="runtests">
+ </antcall>
+ </target>
+
+ <target name="jsf-tests" description="Runs test.xml for org.eclipse.wtp.jsf.core.tests, org.eclipse.wtp.jsf.ui.tests">
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wtp.jsf.core.tests}" />
+ <param name="report" value="org.eclipse.wtp.jsf.core.tests" />
+ </antcall>
+ <antcall target="runtests">
+ <param name="testPlugin" value="${org.eclipse.wtp.jsf.ui.tests}" />
+ <param name="report" value="org.eclipse.wtp.jsf.ui.tests" />
+ </antcall>
+ </target>
+
+
+ <target name="all" depends="init">
+ <echo message="install=${install}"/>
+ <echo message="eclipse-home=${eclipse-home}"/>
+
+ <echo message="Starting JSF Tests"/>
+ <antcall target="jsf-tests" />
+ <echo message="Ended JSF Tests"/>
+ </target>
+
+ <target name="setupPerformance">
+ <delete dir="${perfDir}"/>
+ <mkdir dir="${perfDir}"/>
+ <ant antfile="buildAll.xml" dir="${build.home}/org.eclipse.wtp.releng" target="getPreReq"/>
+ <ant antfile="buildAll.xml" dir="${build.home}/org.eclipse.wtp.releng" target="setupTestEclipse">
+ <property name="testDir" value="${perfDir}"/>
+ </ant>
+ <ant antfile="buildAll.xml" dir="${build.home}/org.eclipse.wtp.releng" target="setupPerformance"/>
+ </target>
+
+ <target name="performance" depends="init">
+ <!--
+ <antcall target="all">
+ <param name="runAsPerfApp" value="true"/>
+ </antcall>
+ -->
+ <antcall target="wst-common-perfTests"/>
+ <antcall target="wst-wsdl-perfTests"/>
+ <antcall target="wst-server-perfTests" />
+ <antcall target="jst-server-tomcat-perfTests" />
+ <antcall target="jst-jsp-perfTests" />
+ <antcall target="wst-xml-perfTests" />
+ <antcall target="wst-html-perfTests" />
+ <antcall target="wst-css-perfTests" />
+ <antcall target="jst-ws-perfTests"/>
+ <antcall target="wst-xsd-perfTests"/>
+ <antcall target="wst-rdb-perfTests"/>
+ <antcall target="jst-j2ee-perfTests"/>
+ <!--
+ <antcall target="genPerfGraphs" />
+ -->
+ </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="genPerfGraphs" description="Generates performance graphs">
+ <condition property="osWindows" value="true">
+ <os family="windows" />
+ </condition>
+ <condition property="java.library.path" value="${eclipseBuilderDirectory}/swt-win32">
+ <os family="windows" />
+ </condition>
+ <condition property="swt.library.path" value="${eclipseBuilderDirectory}/swt-linux-motif">
+ <os family="unix" />
+ </condition>
+ <antcall target="genPerfGraphsWindows"/>
+ <antcall target="genPerfGraphsLinux"/>
+ </target>
+
+ <target name="genPerfGraphsWindows" if="osWindows">
+ <java classname="org.eclipse.test.performance.ui.Main" fork="true" maxmemory="256m">
+ <arg line="-baseline ${perf.ref.buildId} -current ${perf.buildId} -jvm ${perf.jvm} -config ${perf.config} -config.properties ${perf.config},${perf.config},${perf.config},${results}/graph/${perf.config} -output ${results}/graph"/>
+ <classpath>
+ <fileset dir="${eclipseBuilderDirectory}/plugins">
+ <exclude name="**/*swt.motif*.jar"/>
+ <exclude name="**/*swt.gtk*.jar"/>
+ <include name="**/*.jar"/>
+ </fileset>
+ <fileset dir="${build.home}/${cloudscapeLib}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </classpath>
+ <env key="LD_LIBRARY_PATH" value="${eclipseBuilderDirectory}/swt-win32"/>
+ <sysproperty key="PLUGIN_PATH" value="${eclipseBuilderDirectory}/plugins/org.eclipse.test.performance.ui"/>
+ <sysproperty key="eclipse.perf.dbloc" value="${build.home}/${perf.dbloc}"/>
+ <sysproperty key="java.library.path" value="${eclipseBuilderDirectory}/swt-win32"/>
+ </java>
+ </target>
+
+ <target name="genPerfGraphsLinux" unless="osWindows">
+ <java classname="org.eclipse.test.performance.ui.Main" fork="true" maxmemory="256m">
+ <arg line="-baseline ${perf.ref.buildId} -current ${perf.buildId} -jvm ${perf.jvm} -config ${perf.config} -config.properties ${perf.config},${perf.config},${perf.config},${results}/graph/${perf.config} -output ${results}/graph"/>
+ <classpath>
+ <fileset dir="${eclipseBuilderDirectory}/plugins">
+ <exclude name="**/*swt.win32*.jar"/>
+ <include name="**/*.jar"/>
+ </fileset>
+ <fileset dir="${build.home}/${cloudscapeLib}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </classpath>
+ <env key="LD_LIBRARY_PATH" value="${eclipseBuilderDirectory}/swt-linux-motif"/>
+ <sysproperty key="PLUGIN_PATH" value="${eclipseBuilderDirectory}/plugins/org.eclipse.test.performance.ui"/>
+ <sysproperty key="eclipse.perf.dbloc" value="${build.home}/${perf.dbloc}"/>
+ <sysproperty key="java.library.path" value="${eclipseBuilderDirectory}/swt-linux-motif"/>
+ </java>
+ </target>
+
+</project>
diff --git a/releng.wtpbuilder/distribution/jsf.tests/testdependency.xml b/releng.wtpbuilder/distribution/jsf.tests/testdependency.xml
new file mode 100644
index 0000000..2e88202
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jsf.tests/testdependency.xml
@@ -0,0 +1,53 @@
+<?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="wtp" />
+ </antcall>
+ <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>
+
+ </target>
+
+ <target name="getAndInstall">
+
+ <echo message="dependencyTargets: ${dependencyTargets}" />
+ <echo message="groupId: ${groupId}" />
+
+ <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>
+