Bug 490973 - Broken N20160403-2000 DL page due to missing "processing"
diff --git a/bundles/org.eclipse.build.tools/buildTools.jar b/bundles/org.eclipse.build.tools/buildTools.jar
index 5228f6e..755fb5f 100644
--- a/bundles/org.eclipse.build.tools/buildTools.jar
+++ b/bundles/org.eclipse.build.tools/buildTools.jar
Binary files differ
diff --git a/bundles/org.eclipse.build.tools/buildTools.jar.jardesc b/bundles/org.eclipse.build.tools/buildTools.jar.jardesc
index 6f7b3fb..ca65b42 100644
--- a/bundles/org.eclipse.build.tools/buildTools.jar.jardesc
+++ b/bundles/org.eclipse.build.tools/buildTools.jar.jardesc
@@ -12,13 +12,9 @@
     </manifest>
     <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
         <file path="/org.eclipse.build.tools/about.html"/>
-        <file path="/org.eclipse.build.tools/.gitignore"/>
-        <file path="/org.eclipse.build.tools/build.properties"/>
-        <file path="/org.eclipse.build.tools/plugin.xml"/>
-        <file path="/org.eclipse.build.tools/.project"/>
         <file path="/org.eclipse.build.tools/plugin.properties"/>
         <javaElement handleIdentifier="=org.eclipse.build.tools/src"/>
-        <file path="/org.eclipse.build.tools/.classpath"/>
+        <file path="/org.eclipse.build.tools/plugin.xml"/>
         <folder path="/org.eclipse.build.tools/META-INF"/>
     </selectedElements>
 </jardesc>
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
index deba4a4..bff3543 100644
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
+++ b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
@@ -242,6 +242,8 @@
 
     private String          dropTemplateString        = "";
 
+    public Vector           platformDropFileName;
+    
     // assume tests ran. If no html files are found, this is set to false
     private boolean         testsRan                  = true;
 
@@ -384,6 +386,7 @@
     public void execute() {
 
         anErrorTracker = new ErrorTracker();
+        platformDropFileName = new Vector();
         anErrorTracker.loadFile(testManifestFileName);
         getDropTokensFromList(dropTokenList);
         testResultsTemplateString = readFile(testResultsTemplateFileName);
@@ -967,7 +970,7 @@
      * Generate and return the HTML mark-up for a single row for an Equinox JAR
      * on the downloads page.
      */
-    private String processEquinoxDropRow(final PlatformStatus aPlatform) {
+    protected String processEquinoxDropRow(final PlatformStatus aPlatform) {
         String result = "<tr>";
         // result = result + "<td align=\"center\">" +
         // getStatusColumn(aPlatform, "/equinox/images/", true) + "</td>\n";
@@ -988,6 +991,43 @@
         return result;
     }
 
+    // Process drop rows specific to each of the platforms
+    protected String processPlatformDropRows(final PlatformStatus[] platforms, final String name) {
+        String result = "";
+        boolean found = false;
+        for (int i = 0; i < platforms.length; i++) {
+            // If the platform description indicates the platform's name, or
+            // "All",
+            // call processDropRow
+            if (platforms[i].getName().startsWith(name.substring(0, 3)) || platforms[i].getName().equals("All")) {
+                result = result + processDropRow(platforms[i]);
+                found = true;
+                continue;
+            }
+            // If the platform description indicates "All Other Platforms",
+            // process
+            // the row locally
+            if (platforms[i].getName().equals("All Other Platforms") && !found) {
+                if ("equinox".equalsIgnoreCase(platforms[i].getFormat())) {
+                    result = processEquinoxDropRow(platforms[i]);
+                    continue;
+                }
+                // final String imageName = getStatusColumn(platforms[i], "",
+                // false);
+                result = result + "<tr>";
+                // result = result + "<td><div align=left>" + imageName +
+                // "</div></td>\n";
+                result = result + "<td>All " + name + "</td>";
+                // generate http, md5 and sha1 links by calling php functions in
+                // the template
+                result = result + "<td><?php genLinks($_SERVER[\"SERVER_NAME\"],\"${BUILD_ID}\",\"" + platforms[i].getFileName()
+                        + "\"); ?></td>\n";
+                result = result + "</tr>\n";
+            }
+        }
+        return result;
+    }
+
     private void readCompileLog(final String log, final StringBuffer compilerLog, final StringBuffer accessesLog) {
         final String fileContents = readFile(log);
 
@@ -1080,6 +1120,13 @@
     }
 
     /**
+     * @param vector
+     */
+    public void setDropTokens(final Vector vector) {
+        dropTokens = vector;
+    }
+
+    /**
      * Sets the hrefCompileLogsTargetPath.
      * 
      * @param hrefCompileLogsTargetPath
@@ -1126,6 +1173,13 @@
     }
 
     /**
+     * @param string
+     */
+    public void setTestResultsWithProblems(final String string) {
+        testResultsWithProblems = string;
+    }
+
+    /**
      * @param b
      */
     public void setTestsRan(final boolean b) {
@@ -1258,7 +1312,7 @@
         return expectedConfigs;
     }
 
-    private boolean getDoMissingList() {
+    public boolean getDoMissingList() {
         return doMissingList;
     }