fixes for standalone builds
diff --git a/releng.wtpbuilder/distribution/wtp.tests/build.xml b/releng.wtpbuilder/distribution/wtp.tests/build.xml
index 7fbc499..59f5e41 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/build.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/build.xml
@@ -10,7 +10,10 @@
     -->
     <property
         environment="env"/>
-  <!-- required to get proper value of dropinsFolder -->
+    <fail
+        message="testRoot must be set for this task"
+        unless="testRoot"/>
+    <!-- required to get proper value of dropinsFolder -->
     <property
         name="keyCfgFile"
         value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
@@ -19,9 +22,19 @@
         message="keyCfgFile: ${keyCfgFile}"/>
     <property
         file="${keyCfgFile}"/>
-    <fail
-        message="testRoot must be set for this task"
-        unless="testRoot"/>
+
+    <!-- if not otherwise set, assume 'all' tests -->
+    <property
+        name="testTarget"
+        value="all"/>
+    <!--
+        typcially already set, but in case of standalone tests, may not
+        be
+    -->
+    <property
+        name="buildLabel"
+        value="${buildType}-${buildId}-${timestamp}"/>
+
 
     <!-- 
       Steps to do after the build is done. 
@@ -91,15 +104,9 @@
             target="unzipTests"/>
         <antcall
             target="runTestEclipse">
-            <param
-                name="testTarget"
-                value="all"/>
         </antcall>
         <antcall
             target="postRunTestEclipse">
-            <param
-                name="testTarget"
-                value="all"/>
         </antcall>
     </target>
     <target
@@ -149,12 +156,9 @@
         time out may need to be set/adjust for api or performance tests?
         This testTimeLimit is the whole, overall limit on tests. There's
         a shorter one for individual suites. some common values, of
-        milliseconds to more recognizable units: 
-        14400000: 4 hours
-        7200000: 2 hours 
-        3600000: 1 hour  
-        1800000: 30 minutes 
-        600000: 10 minutes
+        milliseconds to more recognizable units: 14400000: 4 hours
+        7200000: 2 hours 3600000: 1 hour 1800000: 30 minutes 600000: 10
+        minutes
     -->
     <property
         name="testTimeLimit"
@@ -182,6 +186,10 @@
             name="eclipse.home"
             value="${testRoot}"/>
         <echo
+            message="testTarget: ${testTarget}"/>
+        <echo
+            message="plugin-path: ${plugin-path}"/>
+        <echo
             message="Running junits"/>
         <!--
             If there is not exactly one launcher in the stack, we'd best
@@ -203,8 +211,6 @@
             produces ant debug info to be output ... which is a TON of
             stuff
         -->
-        <echo
-            message="eclipse.launcher: ${eclipse.launcher}"/>
         <java
             taskname="unit-test-masterprocess"
             fork="true"
@@ -247,9 +253,7 @@
                 value="-Dprojectname=${projectname}"/>
             <jvmarg
                 value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}"/>
-            <arg 
-               value="--launcher.suppressErrors"/>
-        	  <arg
+            <arg
                 value="-nosplash"/>
             <arg
                 value="-consolelog"/>
@@ -262,46 +266,45 @@
             <arg
                 value="org.eclipse.ant.core.antRunner"/>
             <arg
-                value="-file"/>
-            <arg
-                value="${testRoot}/test.xml"/>
+                value="-verbose"/>
             <arg
                 value="-logger"/>
             <arg
                 value="org.apache.tools.ant.DefaultLogger"/>
+            <arg
+                value="-file"/>
+            <arg
+                value="${testRoot}/test.xml"/>
+            <arg
+                value="${testTarget}"/>
+
+            <!--  make sure our forked env has a DISPLAY -->
             <env
                 key="DISPLAY"
                 value="${env.DISPLAY}"/>
             <redirector
                 output="${testRoot}/results/fullOutput.txt"
                 error="${testRoot}/results/fullErrorLog.txt"/>
-            <sysproperty
-                key="build.home"
-                value="${env.BUILD_HOME}"/>
-            <sysproperty
-                key="buildDirectory"
-                value="${buildDirectory}"/>
-            <sysproperty
-                key="buildLabel"
-                value="${buildLabel}"/>
-            <sysproperty
-                key="baseLocation"
-                value="${baseLocation}"/>
-            <sysproperty
-                key="testRoot"
-                value="${testRoot}"/>
-            <sysproperty
-                key="testDir"
-                value="${testRoot}"/>
-            <sysproperty
-                key="perf.buildId"
-                value="${buildType}${date}-${time}"/>
-            <sysproperty
-                key="eclipseBuilderDirectory"
-                value="${pde.builder.path}"/>
-            <sysproperty
-                key="buildLabel"
-                value="${buildLabel}"/>
+            <jvmarg
+                value="-Dbuild.home=${env.BUILD_HOME}"/>
+            <jvmarg
+                value="-DbuildDirectory=${buildDirectory}"/>
+            <jvmarg
+                value="-DbuildLabel=${buildLabel}"/>
+            <jvmarg
+                value="-DbaseLocation=${baseLocation}"/>
+            <jvmarg
+                value="-DtestRoot=${testRoot}"/>
+            <jvmarg
+                value="-DtestDir=${testRoot}"/>
+            <jvmarg
+                value="-Dperf.buildId=${buildType}${date}-${time}"/>
+            <jvmarg
+                value="-DeclipseBuilderDirectory=${pde.builder.path}"/>
+            <jvmarg
+                value="-DbuildLabel=${buildLabel}"/>
+            <jvmarg
+                value="-Dplugin-path=${plugin-path}"/>
         </java>
         <echo
             message="wtpmasterjunitresult ${wtpmasterjunitresult}"/>
diff --git a/releng.wtpbuilder/distribution/wtp.tests/standaloneTest.xml b/releng.wtpbuilder/distribution/wtp.tests/standaloneTest.xml
index 298eef6..7a487eb 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/standaloneTest.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/standaloneTest.xml
@@ -11,15 +11,21 @@
     <property
         name="keyCfgFile"
         value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
+    <property
+        name="build.home"
+        value="${env.BUILD_HOME}"/>
     <echo
         level="info"
         message="keyCfgFile: ${keyCfgFile}"/>
+    <!-- required to get proper value of dropinsFolder -->
     <property
         file="${keyCfgFile}"/>
     <fail
         message="testRoot must be set for this task"
-        unless="testRoot"/>
-	        	
+        unless="env.PROJECT_TESTS"/>
+    <property
+        name="testRoot"
+        value="${env.PROJECT_TESTS}"/>
     <target
         name="main">
         <property
@@ -37,31 +43,19 @@
             dir="${testRoot}"/>
         <antcall
             target="getReleng"/>
+        <fail
+            message="Required file does not exist: ${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/dependencies.properties">
+            <condition>
+                <not>
+                    <available
+                        file="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/dependencies.properties"/>
+                </not>
+            </condition>
+        </fail>
         <property
-            file="${testRoot}/${env.RELENG}/maps/dependencies.properties"/>
+            file="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/dependencies.properties"/>
         <antcall
             target="getDependencies"/>
-        <condition
-            property="wtp-sdk"
-            value="wtp-sdk-${buildId}.zip"
-            else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-sdk-${buildId}.zip"/>
-        </condition>
-        <condition
-            property="wtp-wst-tests"
-            value="wtp-wst-Automated-Tests-${buildId}.zip"
-            else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
-        </condition>
-        <condition
-            property="wtp-jst-tests"
-            value="wtp-jst-Automated-Tests-${buildId}.zip"
-            else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
-        </condition>
         <antcall
             target="run"/>
     </target>
@@ -70,10 +64,12 @@
         <property
             name="releng.tag"
             value="v${buildType}${timestamp}"/>
+        <mkdir
+            dir="${env.PROJECT_BUILDERS}/${projectname}"/>
         <cvs
             cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
             package="${env.RELENG}"
-            dest="${testRoot}"
+            dest="${env.PROJECT_BUILDERS}/${projectname}"
             command="export"
             tag="${releng.tag}"
             quiet="${env.CVS_QUIET}"
@@ -90,12 +86,10 @@
                 name="dependencyTargets"
                 value="${build.home}/${env.RELENG_BUILDER}/scripts/dependency/build.xml"/>
         </ant>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-sdk-${buildId}.zip"/>
-        </antcall>
+        <!--
+            <antcall target="getAndInstallWTP"> <param name="file"
+            value="wtp-sdk-${buildId}.zip"/> </antcall>
+        -->
         <antcall
             target="getAndInstallWTP">
             <param
@@ -106,26 +100,20 @@
             target="getAndInstallWTP">
             <param
                 name="file"
-                value="wtp-wst-Automated-Tests-${buildId}.zip"/>
+                value="wtp-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
         </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-jst-Automated-Tests-${buildId}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
-        </antcall>
+        <!--
+            <antcall target="getAndInstallWTP"> <param name="file"
+            value="wtp-wst-Automated-Tests-${buildId}.zip"/> </antcall>
+            <antcall target="getAndInstallWTP"> <param name="file"
+            value="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
+            </antcall> <antcall target="getAndInstallWTP"> <param
+            name="file" value="wtp-jst-Automated-Tests-${buildId}.zip"/>
+            </antcall> <antcall target="getAndInstallWTP"> <param
+            name="file"
+            value="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
+            </antcall>
+        -->
     </target>
     <target
         name="getAndInstallWTP">
@@ -144,14 +132,14 @@
         name="getWTP">
         <condition
             property="file.url.1"
-            value="http://download.eclipse.org/webtools/committers"
+            value="http://build.eclipse.org/webtools/committers/${projectname}/${timestamp}"
             else="http://download.eclipse.org/webtools/downloads">
             <isset
                 property="build.committers"/>
         </condition>
         <condition
             property="file.url"
-            value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"
+            value="${file.url.1}/${buildType}-${buildId}-${timestamp}"
             else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}">
             <isset
                 property="build.stream"/>
@@ -175,7 +163,7 @@
         if="file.exists">
         <unzip
             src="${local.cache.dir}/${file}"
-            dest="${testRoot}"
+            dest="${testRoot}${dropinsFolder}"
             overwrite="true"/>
     </target>
     <target
@@ -195,6 +183,7 @@
             <property
                 name="testRoot"
                 value="${testRoot}"/>
+            <!-- if not otherwise set, assume all tests -->
             <property
                 name="testTarget"
                 value="all"/>
@@ -205,65 +194,15 @@
             overwrite="true"/>
     </target>
     <target
-        name="upload"
-        if="login">
-        <mkdir
-            dir="${build.home}/archives"/>
-        <zip
-            destfile="${build.home}/archives/${buildType}-${buildId}-${timestamp}.zip"
-            basedir="${build.home}/testRoot/results"/>
-        <condition
-            property="upload.path.1"
-            else="~/downloads/webtools/downloads"
-            value="~/downloads/webtools/committers">
-            <isset
-                property="build.committers"/>
-        </condition>
-        <condition
-            property="upload.path"
-            else="${upload.path.1}/drops/${buildType}-${buildId}-${timestamp}/testResults/${config}"
-            value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}/testResults/${config}">
-            <isset
-                property="build.stream"/>
-        </condition>
-        <exec
-            executable="ssh"
-            dir="${build.home}">
-            <arg
-                line="${login}@download1.eclipse.org rm -rf ${upload.path}"/>
-        </exec>
-        <exec
-            executable="ssh"
-            dir="${build.home}">
-            <arg
-                line="${login}@download1.eclipse.org mkdir ${upload.path}"/>
-        </exec>
-        <exec
-            executable="scp"
-            dir="${build.home}">
-            <arg
-                line="-r ./testRoot/results ${login}@download1.eclipse.org:${upload.path}"/>
-        </exec>
-    </target>
-    <target
         name="clean"
         if="clean">
         <property
             file="${build.home}/${env.RELENG_BUILDER}/build.properties"/>
         <property
-            name="local.cache.dir"
-            value="${env.LOCAL_PREREQS_CACHE}"/>
-        <property
             name="testRoot"
             value="${build.home}/testRoot"/>
         <delete
             dir="${testRoot}"
             failonerror="false"/>
-        <delete
-            failonerror="false">
-            <fileset
-                dir="${local.cache.dir}"
-                includes="wtp-*"/>
-        </delete>
     </target>
 </project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/wtp.tests/templateFiles/index.php b/releng.wtpbuilder/distribution/wtp.tests/templateFiles/index.php
index 8d23693..a42c883 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/templateFiles/index.php
+++ b/releng.wtpbuilder/distribution/wtp.tests/templateFiles/index.php
@@ -2,78 +2,83 @@
 <head>
 
 <?php
-    $parts = explode("/", realpath(".."));
-    $label = $parts[count($parts) - 1];
+$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">
+<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>
+<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">
+<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 &amp; Failures</b></td>
-  </tr>
+	<tr>
+		<td width="81%"><b>Tests Performed</b></td>
+		<td width="19%"><b>Errors &amp; Failures</b></td>
+	</tr>
 
-  <?
-    $dir = dir("html");
-    while ($anEntry = $dir->read())
-    {
-      if ($anEntry != "." && $anEntry != "..")
-      {
-        $link = "html/".$anEntry;
-        $xml = "xml/".substr($anEntry, 0, strlen($anEntry)-4)."xml";
-        $count = 0;
-        $fileHandle = fopen($xml, "r");
-        while (!feof($fileHandle))
-        {
-          $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
-          $count = $count + substr_count($aLine, '<error');
-        }
-        fclose($fileHandle);
-        if ($count > 0)
-        {
-          echo "<tr><td><a href=\"$link\"><b><font color=\"red\">";
-          echo "$anEntry";
-          echo "</font></b></a></td>";
-          echo "<td><b><font color=\"red\">$count</font></b></td></tr>";
-        }
-        else
-        {
-          echo "<tr><td><a href=\"$link\">";
-          echo "$anEntry";
-          echo "</a></td>";
-          echo "<td>$count</td></tr>";
-        }
-      }
-    }
-  ?>
-  
+	<?
+	$dir = dir("html");
+	while ($anEntry = $dir->read())
+	{
+		if ($anEntry != "." && $anEntry != "..")
+		{
+			$link = "html/".$anEntry;
+			$xml = "xml/".substr($anEntry, 0, strlen($anEntry)-4)."xml";
+			$count = 0;
+			$fileHandle = fopen($xml, "r");
+			while (!feof($fileHandle))
+			{
+				$aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+				$count = $count + substr_count($aLine, '<error');
+			}
+			fclose($fileHandle);
+			if ($count > 0)
+			{
+				echo "<tr><td><a href=\"$link\"><b><font color=\"red\">";
+				echo "$anEntry";
+				echo "</font></b></a></td>";
+				echo "<td><b><font color=\"red\">$count</font></b></td></tr>";
+			}
+			else
+			{
+				echo "<tr><td><a href=\"$link\">";
+				echo "$anEntry";
+				echo "</a></td>";
+				echo "<td>$count</td></tr>";
+			}
+		}
+	}
+	?>
+
 </table>
 <p></p>
 <br>
-<table border=0 cellspacing=5 cellpadding=2 width="100%" >
-  <tr> 
-    <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"> 
-      Console output logs 
-      <?php echo "$label"; ?>
-      </font></b></td>
-  </tr>
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+	<tr>
+		<td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+			color="#FFFFFF" face="Arial,Helvetica"> Console output logs <?php echo "$label"; ?>
+		</font></b></td>
+	</tr>
 </table>
 <br>
-These <a href="consolelogs/wtptestlog.txt">logs</a> contain the console output captured while 
-running the JUnit automated tests. <br>
+These
+<a href="consolelogs/wtptestlog.txt">logs</a>
+contain the console output captured while running the JUnit automated
+tests.
+<br>
 <br>
 
 </body>
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/distribution/wtp.tests/testScripts/JUNIT.XSL
index 30a407d..0810ae5 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/testScripts/JUNIT.XSL
+++ b/releng.wtpbuilder/distribution/wtp.tests/testScripts/JUNIT.XSL
@@ -12,34 +12,36 @@
         <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%
+                    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">
+                    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
+                        select="./testsuite">
+                        <xsl:apply-templates
+                            select="properties"/>
                     </xsl:for-each>
-
                 </script>
-                <script language="JavaScript"><![CDATA[
+                <script
+                    language="JavaScript"><![CDATA[
         function displayProperties (name) {
           var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
           var doc = win.document.open();
@@ -69,44 +71,55 @@
                 </script>
             </HEAD>
             <body>
-                <a name="top"></a>
-                <xsl:call-template name="pageHeader" />
+                <a
+                    name="top"></a>
+                <xsl:call-template
+                    name="pageHeader"/>
 
                 <!-- Summary part -->
-                <xsl:call-template name="summary" />
+                <xsl:call-template
+                    name="summary"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- Package List part -->
-                <xsl:call-template name="packagelist" />
+                <xsl:call-template
+                    name="packagelist"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- For each package create its part -->
-                <xsl:call-template name="packages" />
+                <xsl:call-template
+                    name="packages"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- For each class create the  part -->
-                <xsl:call-template name="classes" />
-
+                <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">
+    <!--
+        ==================================================================
+    -->
+    <!--
+        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.
@@ -116,212 +129,256 @@
             cellpadding="5"
             cellspacing="2"
             width="95%">
-            <xsl:call-template name="testsuite.test.header" />
+            <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:sort
+                    select="@package"/>
                 <xsl:variable
                     name="testsuites-in-package"
-                    select="/testsuites/testsuite[./@package = current()/@package]" />
+                    select="/testsuites/testsuite[./@package = current()/@package]"/>
                 <xsl:variable
                     name="testCount"
-                    select="sum($testsuites-in-package/@tests)" />
+                    select="sum($testsuites-in-package/@tests)"/>
                 <xsl:variable
                     name="errorCount"
-                    select="sum($testsuites-in-package/@errors)" />
+                    select="sum($testsuites-in-package/@errors)"/>
                 <xsl:variable
                     name="failureCount"
-                    select="sum($testsuites-in-package/@failures)" />
+                    select="sum($testsuites-in-package/@failures)"/>
                 <xsl:variable
                     name="timeCount"
-                    select="sum($testsuites-in-package/@time)" />
+                    select="sum($testsuites-in-package/@time)"/>
 
                 <!-- write a summary for the package -->
-                <tr valign="top">
+                <tr
+                    valign="top">
                     <!-- set a nice color depending if there is an error/failure -->
-                    <xsl:attribute name="class">
+                    <xsl:attribute
+                        name="class">
 						<xsl:choose>
-							<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
-							<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+							<xsl:when
+                        test="$failureCount &gt; 0">Failure</xsl:when>
+							<xsl:when
+                        test="$errorCount &gt; 0">Error</xsl:when>
 						</xsl:choose>
 					</xsl:attribute>
                     <td>
-                        <a href="#{@package}">
-                            <xsl:value-of select="@package" />
+                        <a
+                            href="#{@package}">
+                            <xsl:value-of
+                                select="@package"/>
                         </a>
                     </td>
                     <td>
-                        <xsl:value-of select="$testCount" />
+                        <xsl:value-of
+                            select="$testCount"/>
                     </td>
                     <td>
-                        <xsl:value-of select="$errorCount" />
+                        <xsl:value-of
+                            select="$errorCount"/>
                     </td>
                     <td>
-                        <xsl:value-of select="$failureCount" />
+                        <xsl:value-of
+                            select="$failureCount"/>
                     </td>
                     <td>
-                        <xsl:call-template name="display-time">
+                        <xsl:call-template
+                            name="display-time">
                             <xsl:with-param
                                 name="value"
-                                select="$timeCount" />
+                                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">
+    <!--
+        ==================================================================
+    -->
+    <!--
+        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>
+            <xsl:sort
+                select="@package"/>
+            <a
+                name="{@package}"></a>
             <h3>
                 Package
-                <xsl:value-of select="@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" />
+                <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" />
+                    mode="print.test"/>
             </table>
-            <a href="#top">Back to top</a>
-            <p />
-            <p />
+            <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" />
+    <xsl:template
+        name="classes">
+        <xsl:for-each
+            select="testsuite">
+            <xsl:sort
+                select="@name"/>
             <!-- create an anchor to this class name -->
-            <a name="{@name}"></a>
+            <a
+                name="{@name}"></a>
             <h3>
                 TestCase
-                <xsl:value-of select="@name" />
+                <xsl:value-of
+                    select="@name"/>
             </h3>
-
             <table
                 class="details"
                 border="0"
                 cellpadding="5"
                 cellspacing="2"
                 width="95%">
-                <xsl:call-template name="testcase.test.header" />
+                <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
+                    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" />
+                <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" />
+                    mode="print.test"/>
             </table>
-            <div class="Properties">
+            <div
+                class="Properties">
                 <a>
-                    <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of
-                            select="@package" />.<xsl:value-of
-                            select="@name" />');</xsl:attribute>
-                    Properties &gt;&gt;
-                </a>
+                    <xsl:attribute
+                        name="href">javascript:displayProperties('<xsl:value-of
+                        select="@package"/>.<xsl:value-of
+                        select="@name"/>');</xsl:attribute>
+                    Properties &gt;&gt; </a>
             </div>
-            <p />
-
-            <a href="#top">Back to top</a>
+            <p/>
+            <a
+                href="#top">Back to top</a>
         </xsl:for-each>
     </xsl:template>
-
-    <xsl:template name="summary">
+    <xsl:template
+        name="summary">
         <h2>Summary</h2>
         <xsl:variable
             name="testCount"
-            select="sum(testsuite/@tests)" />
+            select="sum(testsuite/@tests)"/>
         <xsl:variable
             name="errorCount"
-            select="sum(testsuite/@errors)" />
+            select="sum(testsuite/@errors)"/>
         <xsl:variable
             name="failureCount"
-            select="sum(testsuite/@failures)" />
+            select="sum(testsuite/@failures)"/>
         <xsl:variable
             name="timeCount"
-            select="sum(testsuite/@time)" />
+            select="sum(testsuite/@time)"/>
         <xsl:variable
             name="successRate"
-            select="($testCount - $failureCount - $errorCount) div $testCount" />
+            select="($testCount - $failureCount - $errorCount) div $testCount"/>
         <table
             class="details"
             border="0"
             cellpadding="5"
             cellspacing="2"
             width="95%">
-            <tr valign="top">
+            <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">
+            <tr
+                valign="top">
+                <xsl:attribute
+                    name="class">
 				<xsl:choose>
-					<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
-					<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+					<xsl:when
+                    test="$failureCount &gt; 0">Failure</xsl:when>
+					<xsl:when
+                    test="$errorCount &gt; 0">Error</xsl:when>
 				</xsl:choose>
 			</xsl:attribute>
                 <td>
-                    <xsl:value-of select="$testCount" />
+                    <xsl:value-of
+                        select="$testCount"/>
                 </td>
                 <td>
-                    <xsl:value-of select="$failureCount" />
+                    <xsl:value-of
+                        select="$failureCount"/>
                 </td>
                 <td>
-                    <xsl:value-of select="$errorCount" />
+                    <xsl:value-of
+                        select="$errorCount"/>
                 </td>
                 <td>
-                    <xsl:call-template name="display-percent">
+                    <xsl:call-template
+                        name="display-percent">
                         <xsl:with-param
                             name="value"
-                            select="$successRate" />
+                            select="$successRate"/>
                     </xsl:call-template>
                 </td>
                 <td>
-                    <xsl:call-template name="display-time">
+                    <xsl:call-template
+                        name="display-time">
                         <xsl:with-param
                             name="value"
-                            select="$timeCount" />
+                            select="$timeCount"/>
                     </xsl:call-template>
                 </td>
-
             </tr>
         </table>
         <table
             border="0"
             width="95%">
             <tr>
-                <td style="text-align: justify;">
+                <td
+                    style="text-align: justify;">
                     Note:
                     <i>failures</i>
                     are anticipated and checked for with assertions
@@ -332,79 +389,102 @@
             </tr>
         </table>
     </xsl:template>
-
     <!--
-        Write properties into a JavaScript data structure.
-        This is based on the original idea by Erik Hatcher (erik@hatcher.net)
+        Write properties into a JavaScript data structure. This is based
+        on the original idea by Erik Hatcher (erik@hatcher.net)
     -->
-    <xsl:template match="properties">
+    <xsl:template
+        match="properties">
         cur = TestCases['
-        <xsl:value-of select="../@package" />
+        <xsl:value-of
+            select="../@package"/>
         .
-        <xsl:value-of select="../@name" />
+        <xsl:value-of
+            select="../@name"/>
         '] = new Array();
-        <xsl:for-each select="property">
-            <xsl:sort select="@name" />
+        <xsl:for-each
+            select="property">
+            <xsl:sort
+                select="@name"/>
             cur['
-            <xsl:value-of select="@name" />
+            <xsl:value-of
+                select="@name"/>
             '] = '
-            <xsl:call-template name="JS-escape">
+            <xsl:call-template
+                name="JS-escape">
                 <xsl:with-param
                     name="string"
-                    select="@value" />
+                    select="@value"/>
             </xsl:call-template>
             ';
         </xsl:for-each>
     </xsl:template>
 
     <!-- Page HEADER -->
-    <xsl:template name="pageHeader">
+    <xsl:template
+        name="pageHeader">
         <h1>Unit Test Results</h1>
-        <table width="100%">
+        <table
+            width="100%">
             <tr>
-                <td align="left"></td>
-                <td align="right">
+                <td
+                    align="left"></td>
+                <td
+                    align="right">
                     Designed for use with
-                    <a href='http://www.junit.org'>JUnit</a>
+                    <a
+                        href='http://www.junit.org'>JUnit</a>
                     and
-                    <a href='http://jakarta.apache.org/ant'>Ant</a>
+                    <a
+                        href='http://jakarta.apache.org/ant'>Ant</a>
                     .
                 </td>
             </tr>
         </table>
-        <hr size="1" />
+        <hr
+            size="1"/>
     </xsl:template>
-
     <xsl:template
         match="testsuite"
         mode="header">
-        <tr valign="top">
-            <th width="80%">Name</th>
+        <tr
+            valign="top">
+            <th
+                width="80%">Name</th>
             <th>Tests</th>
             <th>Errors</th>
             <th>Failures</th>
-            <th nowrap="nowrap">Time(s)</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>
+    <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>
+            <th
+                nowrap="nowrap">Time(s)</th>
         </tr>
     </xsl:template>
 
     <!-- method header -->
-    <xsl:template name="testcase.test.header">
-        <tr valign="top">
+    <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>
+            <th
+                width="80%">Type</th>
+            <th
+                nowrap="nowrap">Time(s)</th>
         </tr>
     </xsl:template>
 
@@ -413,63 +493,80 @@
     <xsl:template
         match="testsuite"
         mode="print.test">
-        <tr valign="top">
+        <tr
+            valign="top">
             <!-- set a nice color depending if there is an error/failure -->
-            <xsl:attribute name="class">
+            <xsl:attribute
+                name="class">
 			<xsl:choose>
-				<xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
-				<xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
+				<xsl:when
+                test="@failures[.&gt; 0]">Failure</xsl:when>
+				<xsl:when
+                test="@errors[.&gt; 0]">Error</xsl:when>
 			</xsl:choose>
 		</xsl:attribute>
 
             <!-- print testsuite information -->
             <td>
-                <a href="#{@name}">
-                    <xsl:value-of select="@name" />
+                <a
+                    href="#{@name}">
+                    <xsl:value-of
+                        select="@name"/>
                 </a>
             </td>
             <td>
-                <xsl:value-of select="@tests" />
+                <xsl:value-of
+                    select="@tests"/>
             </td>
             <td>
-                <xsl:value-of select="@errors" />
+                <xsl:value-of
+                    select="@errors"/>
             </td>
             <td>
-                <xsl:value-of select="@failures" />
+                <xsl:value-of
+                    select="@failures"/>
             </td>
             <td>
-                <xsl:call-template name="display-time">
+                <xsl:call-template
+                    name="display-time">
                     <xsl:with-param
                         name="value"
-                        select="@time" />
+                        select="@time"/>
                 </xsl:call-template>
             </td>
         </tr>
     </xsl:template>
-
     <xsl:template
         match="testcase"
         mode="print.test">
-        <tr valign="top">
-            <xsl:attribute name="class">
+        <tr
+            valign="top">
+            <xsl:attribute
+                name="class">
 			<xsl:choose>
-				<xsl:when test="failure | error">Error</xsl:when>
+				<xsl:when
+                test="failure | error">Error</xsl:when>
 			</xsl:choose>
 		</xsl:attribute>
             <td>
-                <xsl:value-of select="@name" />
+                <xsl:value-of
+                    select="@name"/>
             </td>
             <xsl:choose>
-                <xsl:when test="failure">
+                <xsl:when
+                    test="failure">
                     <td>Failure</td>
                     <td>
-                        <xsl:apply-templates select="failure" />
+                        <xsl:apply-templates
+                            select="failure"/>
                     </td>
                 </xsl:when>
-                <xsl:when test="error">
+                <xsl:when
+                    test="error">
                     <td>Error</td>
                     <td>
-                        <xsl:apply-templates select="error" />
+                        <xsl:apply-templates
+                            select="error"/>
                     </td>
                 </xsl:when>
                 <xsl:otherwise>
@@ -478,103 +575,128 @@
                 </xsl:otherwise>
             </xsl:choose>
             <td>
-                <xsl:call-template name="display-time">
+                <xsl:call-template
+                    name="display-time">
                     <xsl:with-param
                         name="value"
-                        select="@time" />
+                        select="@time"/>
                 </xsl:call-template>
             </td>
         </tr>
     </xsl:template>
-
-
-    <xsl:template match="failure">
-        <xsl:call-template name="display-failures" />
+    <xsl:template
+        match="failure">
+        <xsl:call-template
+            name="display-failures"/>
     </xsl:template>
-
-    <xsl:template match="error">
-        <xsl:call-template name="display-failures" />
+    <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:template
+        name="display-failures">
         <xsl:choose>
-            <xsl:when test="not(@message)">N/A</xsl:when>
+            <xsl:when
+                test="not(@message)">
+                N/A
+            </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="@message" />
+                <xsl:value-of
+                    select="@message"/>
             </xsl:otherwise>
         </xsl:choose>
         <!-- display the stacktrace -->
         <code>
-            <p />
-            <xsl:call-template name="br-replace">
+            <p/>
+            <xsl:call-template
+                name="br-replace">
                 <xsl:with-param
                     name="word"
-                    select="." />
+                    select="."/>
             </xsl:call-template>
         </code>
-        <!-- the later is better but might be problematic for non-21" monitors... -->
+        <!--
+            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: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
+            <!--
+                something isn't right here, basically all single quotes
+                need to be replaced with backslash-single-quote
                 <xsl:when test="contains($string,'&apos;')">
-                <xsl:value-of select="substring-before($string,'&apos;')"/>
-                \&apos;
-                <xsl:call-template name="JS-escape">
-                <xsl:with-param name="string" select="substring-after($string,'&apos;')"/>
-                </xsl:call-template>
-                </xsl:when> -->
-            <xsl:when test="contains($string,'\')">
-                <xsl:value-of select="substring-before($string,'\')" />
+                <xsl:value-of
+                select="substring-before($string,'&apos;')"/> \&apos;
+                <xsl:call-template name="JS-escape"> <xsl:with-param
+                name="string"
+                select="substring-after($string,'&apos;')"/>
+                </xsl:call-template> </xsl:when>
+            -->
+            <xsl:when
+                test="contains($string,'\')">
+                <xsl:value-of
+                    select="substring-before($string,'\')"/>
                 \\
-                <xsl:call-template name="JS-escape">
+                <xsl:call-template
+                    name="JS-escape">
                     <xsl:with-param
                         name="string"
-                        select="substring-after($string,'\')" />
+                        select="substring-after($string,'\')"/>
                 </xsl:call-template>
             </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="$string" />
+                <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:template
+        name="br-replace">
+        <xsl:param
+            name="word"/>
         <xsl:choose>
-            <xsl:when test="contains($word,'&#xA;')">
-                <xsl:value-of select="substring-before($word,'&#xA;')" />
-                <br />
-                <xsl:call-template name="br-replace">
+            <xsl:when
+                test="contains($word,'&#xA;')">
+                <xsl:value-of
+                    select="substring-before($word,'&#xA;')"/>
+                <br/>
+                <xsl:call-template
+                    name="br-replace">
                     <xsl:with-param
                         name="word"
-                        select="substring-after($word,'&#xA;')" />
+                        select="substring-after($word,'&#xA;')"/>
                 </xsl:call-template>
             </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="$word" />
+                <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
+        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
+        name="display-percent">
+        <xsl:param
+            name="value"/>
+        <xsl:value-of
+            select="format-number($value,'0.00%')"/>
     </xsl:template>
-
-</xsl:stylesheet>
-
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testScripts/test.xml b/releng.wtpbuilder/distribution/wtp.tests/testScripts/test.xml
index 8976b36..7ea2421 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/testScripts/test.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/testScripts/test.xml
@@ -1077,7 +1077,6 @@
             message="Starting XSL Tests"/>
         <antcall
             target="xsl-tests"/>
-
     </target>
     <target
         name="genHtml"
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testdependency.xml b/releng.wtpbuilder/distribution/wtp.tests/testdependency.xml
index a35b5ee..4917225 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/testdependency.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/testdependency.xml
@@ -10,13 +10,22 @@
     default="get">
     <property
         environment="env"/>
-<!-- required to get proper value of dropinsFolder -->
+    <!-- required to get proper value of dropinsFolder -->
     <property
         name="keyCfgFile"
         value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
     <echo
-        level="debug"
+        level="info"
         message="keyCfgFile: ${keyCfgFile}"/>
+    <fail
+        message="Required property file does not exist: ${keyCfgFile}">
+        <condition>
+            <not>
+                <available
+                    file="${keyCfgFile}"/>
+            </not>
+        </condition>
+    </fail>
     <property
         file="${keyCfgFile}"/>
     <target
diff --git a/releng.wtpbuilder/scripts/dependency/build.xml b/releng.wtpbuilder/scripts/dependency/build.xml
index c1de18a..d3844e2 100644
--- a/releng.wtpbuilder/scripts/dependency/build.xml
+++ b/releng.wtpbuilder/scripts/dependency/build.xml
@@ -191,10 +191,24 @@
             overwrite="true" />
     </target>
     <target name="install-zip">
+    	<!--
+    	     We use the exec method for unzip, so we won't fail if a 
+    	     prereq can not be unzipped for some reason. See 
+    	     https://bugs.eclipse.org/bugs/show_bug.cgi?id=283968 
+    	-->
+    	<mkdir dir="${install.destination}" />
+      <exec
+          dir="."
+          executable="unzip">
+          <arg
+              line="-o -qq ${local.cache.dir}/${dependency.file} -d ${install.destination}"/>
+      </exec>
+    	<!--
         <unzip
             dest="${install.destination}"
             src="${local.cache.dir}/${dependency.file}"
             overwrite="true" />
+       -->
     </target>
     <target name="install-map">
         <copy