blob: 43aa82fe1989c1407a3cdad4729f449b11ed0160 [file] [log] [blame]
<html>
<head>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css">
<title>Eclipse Dynamic Languages Toolkit (DLTK) Downloads</title>
</head>
<body>
<!-- heading start -->
<?php
// tiny banner to remind when looking at "local" machine results
$serverName = $_SERVER["SERVER_NAME"];
if (!stristr($serverName, "eclipse.org") && !stristr($serverName,"you.are.at.eclipsecon.org")) {
echo '<center><p>Reminder: this is <font color="#FF0000">', $serverName,'</font> See also <a href="http://download.eclipse.org/technology/dltk/downloads" target="_top">Live public eclipse site</a>.</center><hr />';
}
if (function_exists("date_default_timezone_set")) {
date_default_timezone_set("UTC");
//echo "<p>default timezone: ";
//echo date_default_timezone_get();
//echo "</p>";
}
?>
<?php
//ini_set("display_errors", "true");
//error_reporting (E_ALL);
?>
<?php
$QString = $_SERVER['QUERY_STRING'];
$C = strcmp($QString, "test");
?>
<table border=0 cellpadding=0 width="100%">
<tr>
<td width="35%"><font class=indextop> Dynamic Languages Toolkit<br>
downloads</font><br>
<font class=indexsub>Latest downloads from the Dynamic Languages Toolkit Project</font></td>
<td width="35%" align="right"><a href="http://www.eclipse.org/dltk"><img border="0"src="http://www.eclipse.org/images/egg-incubation.png"></a></td>
</tr>
</table>
<!-- heading end -->
<hr />
<table border=0 cellpadding=2 width="70%" align="center">
<tr>
<td>
<p>This is the starting page for where you can find the latest <a
href="http://wiki.eclipse.org/index.php/DLTK_Build_Types">declared build</a> produced by the <a
href="http://www.eclipse.org/dltk">Eclipse Dynamic Languages Toolkit (DLTK) Project</a>.</p>
<p>Please note that each declared-build page details the pre-reqs for
that particular build. The DLTK 0.8.x builds go with Eclipse 3.2 based
pre-reqs, and the DLTK 0.9.x and 1.0.x builds go with Eclipse 3.3 based pre-reqs.</p>
<p>As an alternative to downloading zips from the build pages, our
released builds can be <a
href="http://wiki.eclipse.org/index.php/DLTK_Installation">installed via
Update Manager</a>, from an existing installation of Eclipse.</p>
</td>
</tr>
</table>
<?php
$contents = substr(file_get_contents('dlconfig.txt'),0,-1);
$contents = str_replace("\n", "", $contents);
#split the content file by & and fill the arrays
$elements = explode("&",$contents);
$t = 0;
$p = 0;
for ($c = 0; $c < count($elements); $c++) {
$tString = "dropType";
$pString = "dropPrefix";
if (strstr($elements[$c],$tString)) {
$temp = preg_split("/=/",$elements[$c]);
$dropType[$t] = trim($temp[1]);
$t++;
}
if (strstr($elements[$c],$pString)) {
$temp = preg_split("/=/",$elements[$c]);
$dropPrefix[$p] = trim($temp[1]);
$p++;
}
}
// debug
// echo "Debug: droptype count: ", count($dropType), "<br />";
for ($i = 0; $i < count($dropType); $i++) {
$dt = $dropType[$i];
$dt = trim($dt);
$typeToPrefix[$dt] = $dropPrefix[$i];
// echo "Debug prefix: ", $dropPrefix[$i], "<br />";
// echo "Debug dropType: ", $dropType[$i], "<br />";
}
$buildBranches = array();
$buildBranches[0]="R1.0";
$buildBranches[1]="R0.9";
$buildBranches[2]="R0.8";
include 'report.php';
include 'report2.php';
$latestTimeStamp=array();
$latestFile = array();
echo "<table border=0 cellpadding=2 width=\"100%\"><tr>";
echo "<td align=\"center\" bgcolor=\"#0080C0\"><b><font color=\"#FFFFFF\" face=\"Arial,Helvetica\">";
echo "Latest Downloads";
echo "</td></font></b>";
echo "</tr></table>";
foreach ($buildBranches as $buildBranch ) {
$aBranchDirectoryName = "drops/".$buildBranch;
if (file_exists($aBranchDirectoryName) && is_dir($aBranchDirectoryName)) {
$aDirectory = dir($aBranchDirectoryName);
$latestTimeStamp[$buildBranch] = array();
$latestFile[$buildBranch] = array();
while (false !== ($anEntry = $aDirectory->read())) {
// Short cut because we know aDirectory only contains other directories.
if ($anEntry != "." && $anEntry!="..") {
// echo "Debug anEntry: $anEntry<br />" ;
$aDropDirectoryName = "drops/".$buildBranch."/".$anEntry;
if (is_dir($aDropDirectoryName) && is_Readable($aDropDirectoryName)) {
$aDropDirectory = dir($aDropDirectoryName);
//echo "Debug aDropDirectory: $aDropDirectory->path <br />" ;
$fileCount = 0;
while ($aDropEntry = $aDropDirectory->read()) {
// echo "Debug aDropEntry: $aDropEntry<br />" ;
if ( (stristr($aDropEntry, ".tar.gz")) || (stristr($aDropEntry, ".zip")) ) {
// Count the dropfile entry in the directory (so we won't display links, if not all there
$fileCount = $fileCount + 1;
}
}
$aDropDirectory->close();
}
// Read the count file
$countFile = "drops/".$buildBranch."/".$anEntry."/files.count";
$indexFile = "drops/".$buildBranch."/".$anEntry."/index.html";
if (!file_exists($indexFile)) {
$indexFile = "drops/".$buildBranch."/".$anEntry."/index.php";
}
if (file_exists($countFile) && file_exists($indexFile)) {
$anArray = file($countFile);
// debug
//echo "Number according to files.count: ", $anArray[0];
//echo " actual counted files: ", $fileCount;
// If a match - process the directoryVV -- we simply look that there's more
// zip's than we expect, since it frequently breaks where the count is slighly
// off, such as when we add, after the fact, an all-in-one zip.
if ($anArray[0] <= $fileCount) {
// debug
//echo "yes, counted equaled expected count<br>";
$entryParts = explode("-", $anEntry);
if (count($entryParts) == 3) {
// debug
//echo "yes, counted parts was 3<br>";
$buildTypePart = $entryParts[0];
$buckets[$buildBranch][$buildTypePart][] = $anEntry;
$timePart = $entryParts[2];
$year = substr($timePart, 0, 4);
$month = substr($timePart, 4, 2);
$day = substr($timePart, 6, 2);
$hour = substr($timePart,8,2);
$minute = substr($timePart,10,2);
$newTimePart = "$year-$month-$day $hour:$minute UTC";
$timeStamp = strtotime($newTimePart);
$timeStamps[$anEntry] = gmdate("D, j M Y -- H:i \(\U\T\C\)", $timeStamp);
// debug
// echo "<br />buildBranch: $buildBranch <br />";
// echo "<br />parts[0]: -$buildTypePart- <br />";
// echo "latestTimeStamp[buildBranch]:";
// echo $latestTimeStamp[$buildBranch];
// echo "latestTimeStamp:";
// echo $latestTimeStamp;
if ((sizeof($latestTimeStamp[$buildBranch]) > 0) &&
(isset($latestTimeStamp[$buildBranch][$buildTypePart])))
{
if ($timeStamp > $latestTimeStamp[$buildBranch][$buildTypePart])
{
$latestTimeStamp[$buildBranch][$buildTypePart] = $timeStamp;
$latestFile[$buildBranch][$buildTypePart] = $anEntry;
}
}
else
{
$latestTimeStamp[$buildBranch][$buildTypePart] = $timeStamp;
$latestFile[$buildBranch][$buildTypePart] = $anEntry;
}
}
}
}
}
}
$aDirectory->close();
}}
?>
<table width="70%" align="center" cellpadding=2>
<tr>
<td width="25%"><b>Build Type</b></td>
<td width="25%"><b>Build Name</b></td>
<td width="15%"><b>Stream</b></td>
<td width="40%"><b>Build Date</b></td>
</tr>
<?php
foreach($dropType as $value) {
$prefix=$typeToPrefix[$value];
foreach($buildBranches as $bValue) {
if (array_key_exists($prefix, $latestFile[$bValue])) {
$fileName = $latestFile[$bValue][$prefix];
echo "<tr>";
echo "<td width=\"25%\">$value</td>";
$fileNameParts = explode("-", $fileName);
if (sizeof($fileNameParts) > 1) {
// Uncomment the line below if we need click through licenses.
// echo "<td><a href=license.php?license=drops/$bValue/$fileName>$parts[1]</a></td>";
// Comment the line below if we need click through licenses.
echo "<td width=\"25%\"><a href=\"drops/$bValue/$fileName/\">$fileNameParts[1]</a></td>";
echo "<td width=\"15%\">$bValue</td>";
echo "<td width=\"40%\">$timeStamps[$fileName]</td>";
echo "</tr>";
}
}
}
}
?>
<table border="0" cellpadding="2" width="100%">
<tr>
<td bgcolor="#0080C0">
&nbsp;
</td>
</tr></table>
</table>
<table border="0" cellpadding="2" width="100%">
<tr>
<td align="center" bgcolor="#999999"><b><font color="#FFFFFF" face="Arial,Helvetica">Recent History</b></font></td>
</tr>
</table>
<?php
foreach($dropType as $value) {
$prefix=$typeToPrefix[$value];
echo "
<table width=\"100%\" cellpadding=2>
<tr bgcolor=\"#999999\">
<td align=left><b><a name=\"$value\"><font color=\"#FFFFFF\" face=\"Arial,Helvetica\">";
echo "$value";
echo "</font></a></b></td>";
echo "</tr>";
echo "<tr>
<td align=left>
<table width=\"100%\" cellpadding=2>
<tr>
<td width=\"13%\"><b>Build Name</b></td>
<td width=\"8%\"><b>Stream</b></td>
<td width=\"20%\"><b>Build Date</b></td>
<td></td>
</tr>";
foreach($buildBranches as $bValue) {
if (array_key_exists($bValue, $buckets) && $buckets[$bValue] != NULL
&& array_key_exists($prefix, $buckets[$bValue])) {
echo "<tr><td colspan=\"11\"/><hr/></tr>";
$aBucket = $buckets[$bValue][$prefix];
if (isset($aBucket)) {
rsort($aBucket);
$i = 0;
$ts = array();
$ts2iv = array();
foreach($aBucket as $iv) {
$ivParts = explode("-", $iv);
$ts[$i] = $ivParts[2];
$ts2iv[$ts[$i]] = $iv;
$i++;
}
rsort($ts);
$i = 0;
$aBucket = array();
foreach($ts as $tsvalue) {
$aBucket[$i] = $ts2iv[$tsvalue];
$i++;
}
foreach($aBucket as $innerValue) {
$innerValueParts = explode("-", $innerValue);
echo "<tr>";
// Uncomment the line below if we need click through licenses.
// echo "<td><a href=\"license.php?license=drops/$bValue/$innerValue\">$innerValueParts[1]</a></td>";
// Comment the line below if we need click through licenses.
echo "<td width=\"13%\"><a href=\"drops/$bValue/$innerValue/\">$innerValueParts[1]</a></td>";
echo "<td width=\"8%\">$bValue</td>";
echo "<td width=\"20%\">$timeStamps[$innerValue]</td>";
echo "<td></td>";
// if compilelogsSummary.xml exists, assume the "new way" (summary in xml file).
// else, assume old way
//echo "drops/$bValue/$innerValue/compilelogsSummary.xml";
if (file_exists("drops/$bValue/$innerValue/compilelogsSummary.xml"))
{
$filename = "drops/$bValue/$innerValue/compilelogsSummary.xml";
$prefix = "code_";
$compileSummary = simplexml_load_file($filename);
foreach ($compileSummary->summaryItem as $summaryItem) {
$name = $summaryItem->name;
$value = $summaryItem->value;
$code= "\$" . $prefix . $name . " = " . $value . ";";
//echo "<br />code: " . $code;
eval($code);
}
//echo "drops/$bValue/$innerValue/testcompilelogsSummary.xml";
$filename = "drops/$bValue/$innerValue/testcompilelogsSummary.xml";
$prefix = "test_";
$compileSummary = simplexml_load_file($filename);
foreach ($compileSummary->summaryItem as $summaryItem) {
$name = $summaryItem->name;
$value = $summaryItem->value;
$code= "\$" . $prefix . $name . " = " . $value . ";";
//echo "<br />code: " . $code;
eval($code);
}
if (file_exists("drops/$bValue/$innerValue/unitTestsSummary.xml")) {
$filename = "drops/$bValue/$innerValue/unitTestsSummary.xml";
$prefix = "unittest_";
$unitTestsSummary = simplexml_load_file($filename);
foreach ($unitTestsSummary->summaryItem as $summaryItem) {
$name = $summaryItem->name;
$value = $summaryItem->value;
$code= "\$" . $prefix . $name . " = " . $value . ";";
// echo "<br />code: " . $code;
eval($code);
}
}
else {
unset($unittest_grandTotalErrors, $unittest_grandTotalTests);
}
$totalCommpileErrors = $code_totalErrors + $test_totalErrors;
$totalCompileOtherWarnings = $code_totalWarnings;
$totalBundles = $code_totalBundles + $test_totalBundles;
$totalForbidden = $code_totalforbiddenAccessWarningCount + $test_totalforbiddenAccessWarningCount;
$totalDiscouraged = $code_totaldiscouragedAccessWarningCount + $test_totaldiscouragedAccessWarningCount;
echo "<td width=\"6%\">($totalBundles)</td>";
echo "<td width=\"6%\"><img src=\"compile_err.gif\" width=\"16\" height=\"16\"/><font color=red>$totalCommpileErrors</font></td>";
echo "<td width=\"6%\"><img src=\"compile_warn.gif\" width=\"16\" height=\"16\"/><font color=orange>$totalCompileOtherWarnings</font></td>";
echo "<td width=\"6%\"><img src=\"access_err.gif\" width=\"16\" height=\"16\"/><font color=red>$totalForbidden</font></td>";
echo "<td width=\"6%\"><img src=\"access_warn.gif\" width=\"16\" height=\"16\"/><font color=orange>$totalDiscouraged</font></td>";
if (isset($unittest_grandTotalErrors)) {
echo "<td width=\"6%\"><img src=\"junit_err.gif\" width=\"16\" height=\"16\"/><font color=red>$unittest_grandTotalErrors</font></td>";
echo "<td width=\"6%\">($unittest_grandTotalTests)</td>";
}
else {
echo "<td width=\"6%\"><img src=\"pending.gif\" width=\"16\" height=\"16\"/></td>";
echo "<td width=\"6%\"><img src=\"pending.gif\" width=\"16\" height=\"16\"/></td>";
}
echo "</tr>";
}
// if compileResults.php exists, assume the "new way" (testResults and compileResult seperated).
// else, assume old way
else if (file_exists("drops/$bValue/$innerValue/compileResults.php"))
{
$testResults = parse2_testResults("drops/$bValue/$innerValue/testResults.php");
list ($junitFailures) = $testResults;
$compileResults = parse2_compileResults("drops/$bValue/$innerValue/compileResults.php");
list ($compileErrors, $compileAccessWarnings, $compileOtherWarnings) = $compileResults;
$testCompileResults = parse2_compileResults("drops/$bValue/$innerValue/testCompileResults.php");
list ($testCompileErrors, $testCompileAccessWarnings, $testCompileOtherWarnings) = $testCompileResults;
$totalCommpileErrors = $compileErrors + $testCompileErrors;
// we'll just use code for warnning summaries, for now
$totalAccessWarnings = $compileAccessWarnings;
$totalCompileOtherWarnings = $compileOtherWarnings;
echo "<td width=\"6%\">&nbsp;</td>";
echo "<td width=\"6%\"><img src=\"compile_err.gif\" width=\"16\" height=\"16\"/><font color=red>$totalCommpileErrors</font></td>";
echo "<td width=\"6%\"><img src=\"compile_warn.gif\" width=\"16\" height=\"16\"/><font color=orange>$totalCompileOtherWarnings</font></td>";
if ($junitFailures < 0) {
echo "<td width=\"6%\"><img src=\"pending.gif\" width=\"16\" height=\"16\"/><font color=red>&nbsp;</font></td>";
}
else {
echo "<td width=\"6%\"><img src=\"junit_err.gif\" width=\"16\" height=\"16\"/><font color=red>$junitFailures</font></td>";
}
echo "</tr>";
}
else {
$testResults = parse_testResult("drops/$bValue/$innerValue/testResults.php");
list ($compileErrors, $compileWarnings, $junitFailures) = $testResults;
echo "<td width=\"6%\">&nbsp;</td>";
echo "<td width=\"6%\"><img src=\"compile_err.gif\" width=\"16\" height=\"16\"/><font color=red>$compileErrors</font></td>";
echo "<td width=\"6%\"><img src=\"compile_warn.gif\" width=\"16\" height=\"16\"/><font color=orange>$compileWarnings</font></td>";
echo "<td width=\"6%\"><img src=\"junit_err.gif\" width=\"16\" height=\"16\"/><font color=red>$junitFailures</font></td>";
echo "</tr>";
}
}
}}}
echo "</table></table>";
}
?>
<table border="0" cellpadding="2" width="100%">
<tr>
<td bgcolor="#999999">&nbsp;</td>
</tr>
</table>
<table border="0" width="100%" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="40%">
<table border="0" cellpadding="2">
<tbody>
<tr>
<td width="100%" bgcolor="#0080c0" valign="top"><b><font
face="Arial,Helvetica"><font color="#ffffff">Download Related
Links</font> </font></b></td>
</tr>
<tr>
<td valign="top">
<!--p><a href="http://download.eclipse.org/webtools/committers/"
target="_top">Continuous builds</a> are also available which are for
committers and early testers.</p--> &nbsp;
</td>
</tr>
</tbody>
</table>
</td>
<td />
<td width="45%" valign="top">
<table border="0" cellpadding="2">
<tbody>
<tr>
<td width="100%" colspan="4" bgcolor="#0080c0" valign="top"><b><font
face="Arial,Helvetica"><font color="#ffffff">Metrics Legend</font>
</font></b></td>
</tr>
<tr>
<td valign="top"><img src="compile_err.gif" width="16" height="16" /></td>
<td valign="top" width="50%">compilation errors.</td>
<td valign="top"><img src="compile_warn.gif" width="16" height="16" /></td>
<td valign="top" width="50%">compilation warnings.</td>
</tr>
<tr>
<td valign="top"><img src="access_err.gif" width="16" height="16" /></td>
<td valign="top" width="50%">Access Rule Violations</td>
<td valign="top"><img src="access_warn.gif" width="16" height="16" /></td>
<td valign="top" width="50%">Access Rule Warnings</td>
</tr>
<tr>
<td valign="top"><img src="junit_err.gif" width="16" height="16" /></td>
<td valign="top" width="50%">junit failures.</td>
<td valign="top"><img src="pending1.gif" width="16" height="16" /></td>
<td valign="top" width="50%">Pending results</td>
</tr>
<tr>
<td valign="top"><img src="api_err.gif" width="16" height="16" /></td>
<td valign="top" width="50%">API violations.</td>
<td valign="top"><img src="api_junit.gif" width="16" height="16" /></td>
<td valign="top" width="50%">APIs without junit testcases.</td>
</tr>
<tr>
<td valign="top"><img src="api_removed.gif" width="16" height="16" /></td>
<td valign="top" width="50%">removed APIs.</td>
</tr>
<tr>
<td valign="top"><b>(</b>nnn<b>)</b></td>
<td valign="top">Number of bundles, jars, and wars, or number of
unit tests.</td>
<td valign="top"><b>NA</b></td>
<td valign="top"><b>N</b>ot <b>A</b>vailable</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<!-- footer -->
<center>
<hr />
<p>All downloads are provided under the terms and conditions of the <a
href="http://www.eclipse.org/legal/notice.html">Eclipse.org Software
User Agreement</a> unless otherwise specified.</p>
<p>If you have problems downloading the drops, contact the <font
size="-1" face="arial,helvetica,geneva"><a
href="mailto:webmaster@eclipse.org">webmaster</a></font>.</p>
</center>
<!-- end footer -->
</body>
</html>
<?php
if (isset($old_error_handler) && sizeof($old_error_handler)) {
set_error_handler($old_error_handler);
}
?>