<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Eclipse Dynamic Languages Toolkit (DLTK) Downloads - for Committers and Early Testers</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link href="downloads.css" rel="stylesheet" type="text/css" />

<?php
$buildBranch = "@buildBranch@";
$buildId = "@build@";
$isEclipse = preg_match("/eclipse.org$/", $_SERVER["SERVER_NAME"]);

if ($isEclipse) {
  $downloadprefix="http://www.eclipse.org/downloads/download.php?file=/technology/dltk/downloads/drops/$buildBranch/$buildId/";
}
else {
  $downloadprefix="";
}

// todo: unsure if can handle filenames that are URLs?
function fileSizeInMegs($filename) {
        // handy constant to compute file size in megabytes
        $onemeg=1024*1024;
        $zipfilesize=filesize($filename);
        $zipfilesize=number_format (round($zipfilesize/$onemeg, 1), 1, ',', '');
        return $zipfilesize;
}

function mirrorLink($link) {
	if (preg_match("!^http://download.eclipse.org(/.+)$!", $link, $matches)) {
		return "http://www.eclipse.org/downloads/download.php?file=".$matches[1];
	}
	else {
		return $link;
	}
}

// expecting grandTotalErrors and grandTotalTests
$filename = "unitTestsSummary.xml";
if (file_exists($filename)) {
        $prefix = "unitTests_";
        $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);
        }
}

$filename = "compilelogsSummary.xml";
$prefix = "code_";
$compileSummary = simplexml_load_file($filename);
foreach ($compileSummary->summaryItem as $summaryItem) {
        $name = $summaryItem->name;
        $value = $summaryItem->value;
        ${$prefix . $name} = $value;
        //echo "<br />code: " . $code;
        //eval($code);
}

$filename = "testcompilelogsSummary.xml";
$prefix = "test_";
$compileSummary = simplexml_load_file($filename);
foreach ($compileSummary->summaryItem as $summaryItem) {
        $name = $summaryItem->name;
        $value = $summaryItem->value;
        ${$prefix . $name} = $value;
        //echo "<br />code: " . $code;
        //eval($code);
}


?>
</head>

<body>
<div id="container">
 <div class="grad">
  <div id="summary">
    <div id="header">
      <h1>@type@ Build: @build@</h1>
      <h4>@date@</h4>
      <p>The Eclipse Dynamic Languages Toolkit Project is a tool for vendors, researchers, and end-users who rely on dynamic languages. DLTK is comprised
of a set of extensible frameworks designed to reduce the complexity of building full featured development environments for dynamic languages such
as PHP and Perl.</p>
      <p>&nbsp;</p>
      <p>Besides a set of frameworks DLTK provides exemplary Tcl, Ruby, and Python development environments ready to use out of the box.</p> 
    </div>
   </div>
 </div>


 <div class="white">
  <div id="build">
<!-- ***********  Prerequisites **************  -->
   <div class="build_item">
    <h3>Dependencies</h3>
    <table class="dependencies">
      <tr>
        <th>Name</th>
        <th>Type</th>
        <th>Download Link</th>
      </tr>
      <tr>
        <td class="name" width="182">Eclipse Platform</td>
        <td class="status"><b>Prerequisite</b></td>
        <td><a href="<?=mirrorLink('@eclipseURL@')?>">@eclipseFile@</a> or <a href="@eclipseBuildURL@">other platform</a></td>
      </tr>
      <tr>
        <td class="name" width="182">EMF</td>
        <td class="status"><b>Required</b></td>
        <td><a href="<?=mirrorLink('@emfURL@')?>">@emfFile@</a></td>
      </tr>
      <tr>
        <td class="name" width="182">ANTLR Runtime</td>
        <td class="status">Used by Python &amp; Javascript</td>
        <td><a href="<?=mirrorLink('@antlrURL@')?>">@antlrFile@</a></td>
      </tr>
      <tr>
        <td class="name" width="182">JDT</td>
        <td class="status">Used by Javascript</td>
        <td><a href="<?=mirrorLink('@eclipseJDT_URL@')?>">@eclipseJDT_File@</a></td>
      </tr>
      <tr>
        <td class="name" width="182">DSDP TM RSE</td>
        <td class="status">Optional, used by Remote Projects support</td>
        <td><a href="<?=mirrorLink('@rseURL@')?>">@rseFile@</a></td>
      </tr>
      <tr>
        <td class="name" width="182">Mylyn</td>
        <td class="status">Optional</td>
        <td><a href="<?=mirrorLink('@mylynURL@')?>">@mylynFile@</a></td>
      </tr>
      <tr>
        <td class="name" width="182"><a href="http://www.h2database.com">H2 database</a></td>
        <td class="status">Optional</td>
        <td><a href="<?=mirrorLink('@h2URL@')?>">@h2File@</a></td>
      </tr>
    </table>
  </div>

<!-- ***********  DLTK COMPONENTS **************  -->
<div class="build_item" id="main-components">
    <h3>Dynamic Languages Toolkit Components</h3>
    <table><tr>
        <th width="250">Name</th>
	    <th>Requirements</th>
	    <th>Runtime Downloads</th>
   	    <th>SDK Downloads</th>
   	    <th>Tests</th>
      </tr>
      <tr>
        <td class="bold"><img src="images/eclipse.png" alt="" />Core Frameworks</td>
        <td><img src="images/eclipse.png" alt="" />EMF</td>
        <?php
        $zipfilename="dltk-core-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        $zipfilename="dltk-core-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        //$zipfilename="dltk-core-Automated_Tests-@build@";
        //$filename=$zipfilename.".zip";
        //$zipfilesize=fileSizeInMegs($filename);
        //echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold"><img src="images/ruby.png" alt="" />Ruby IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core</td>
        <?php
        $zipfilename="dltk-ruby-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        $zipfilename="dltk-ruby-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        //$zipfilename="dltk-ruby-Automated_Tests-@build@";
        //$filename=$zipfilename.".zip";
        //$zipfilesize=fileSizeInMegs($filename);
        //echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold"><img src="images/tcl.png" alt="" />Tcl IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core, <img src="images/eclipse.png" alt="" />EMF</td>
        <?php
        $zipfilename="dltk-tcl-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        $zipfilename="dltk-tcl-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        //$zipfilename="dltk-tcl-Automated_Tests-@build@";
        //$filename=$zipfilename.".zip";
        //$zipfilesize=fileSizeInMegs($filename);
        //echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>      
    </table>
  </div>
      
<!-- ***********  DLTK EXTENSIONS **************  -->
<div class="build_item">
    <h3>Dynamic Languages Toolkit Extensions</h3>
    <table><tr>
        <th width="250">Name</th>
	    <th>Requirements</th>
	    <th>Runtime Downloads</th>
   	    <th>SDK Downloads</th>
      </tr>
      <tr>
        <td class="bold"><img src="images/xotcl.png" alt="" />XOTcl IDE</td>
                <td><img src="images/eclipse.png" alt="" />Core, <img src="images/tcl.png" alt="" />Tcl IDE</td>
        <?php
        $zipfilename="dltk-xotcl-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-xotcl-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold">Incr TCL IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core, <img src="images/tcl.png" alt="" />Tcl IDE</td>
        <?php
        $zipfilename="dltk-itcl-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-itcl-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
    </table>
  </div>


<!-- ***********  DLTK INTEGRATION **************  -->
<div class="build_item">
    <h3>Integration Components</h3>
    <table>
      <tr>
        <th width="250">Name</th>
	    <th>Requirements</th>
	    <th>Runtime Downloads</th>
   	    <th>SDK Downloads</th>
      </tr>
      <tr>
        <td class="bold" nowrap><img src="images/eclipse.png" alt="" />DLTK Remote Projects via DSDP TM</td>
        <td><img src="images/eclipse.png" alt="" />Core, <img src="images/eclipse.png" alt="" />RSE</td>
        <?php
        $zipfilename="dltk-rse-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-rse-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
	  <tr>
        <td class="bold" nowrap><img src="images/eclipse.png" alt="" />DLTK Lucene Index</td>
        <td><img src="images/eclipse.png" alt="" />Core, <img src="images/eclipse.png" alt="" />H2</td>
        <?php
        $zipfilename="dltk-core-index-lucene-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-core-index-lucene-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold" nowrap><img src="images/eclipse.png" alt="" />DLTK Mylyn Intergation</td>
        <td><img src="images/eclipse.png" alt="" />Core, <img src="images/eclipse.png" alt="" />Mylyn</td>
        <?php
        $zipfilename="dltk-mylyn-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-mylyn-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
    </table>
  </div>

<!-- ***********  DLTK INCUBATION **************  -->
<div class="build_item">
    <h3>Incubated Components</h3>
    <table><tr>
        <th width="250">Name</th>
	    <th>Requirements</th>
	    <th>Runtime Downloads</th>
   	    <th>SDK Downloads</th>
      </tr>

      <tr>
        <td class="bold"><img src="images/python.png" alt="" />Python IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core</td>
        <?php
        $zipfilename="dltk-python-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-python-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold"><img src="images/javascript.png" alt="" />Javascript IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core</td>
        <?php
        $zipfilename="dltk-javascript-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-javascript-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <tr>
        <td class="bold"><img src="images/eclipse.png" alt="" />ShellEd IDE</td>
        <td><img src="images/eclipse.png" alt="" />Core</td>
        <?php
        $zipfilename="dltk-sh-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        $zipfilename="dltk-sh-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
    </table>
  </div>

  <div class="build_item">
    <h3>Dynamic Languages Toolkit Bundles</h3>
    <table><tr>
        <th>Bundle</th>
	    <th>Runtime Only</th>
   	    <th>SDK</th>
   	    <th>Tests</th>
   	  </tr>
      <tr>
        <td class="bold"><img src="images/eclipse.png" alt="" /><h5>+</h5><img src="images/ruby.png" alt="" /><h5>+</h5><img src="images/tcl.png" alt="" /><h5>+</h5><img src="images/python.png" alt="" /><h5>+</h5><img src="images/javascript.png" alt="" /><h5>+</h5><img src="images/xotcl.png" alt="" />All-in-1</td>
        <?php
        $zipfilename="dltk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        $zipfilename="dltk-sdk-@build@";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        
        //$zipfilename="dltk-Automated_Tests-@build@";
        //$filename=$zipfilename.".zip";
        //$zipfilesize=fileSizeInMegs($filename);
        //echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        ?>
      </tr>
      <!--tr>
        <td class="bold"><img src="images/eclipse.png" alt="" /><h5>+</h5><img src="images/ruby.png" alt="" /><h5>+</h5><img src="images/tcl.png" alt="" /><h5>+</h5><img src="images/python.png" alt="" /><h5>+</h5><img src="images/javascript.png" alt="" /><h5>+</h5><img src="images/xotcl.png" alt="" />All-in-1 updateSite</td>
        <?php
        $zipfilename="dltk-@build@-updateSite";
        $filename=$zipfilename.".zip";
        $zipfilesize=fileSizeInMegs($filename);
        echo '<td><img src="images/download.png" alt="" /><a href="' . $downloadprefix . $filename . '">' . "Download " . '</a><h6>'.$zipfilesize.'mb</h6><a href="checksum/' . $filename . '.md5"><img src="images/md5.png" alt="" /></a></td>';
        echo '<td>&nbsp;</td>';
        echo '<td>&nbsp;</td>';
        ?>
      </tr-->
     </table>
    </div>


<!-- ***********  Build Status **************  -->
   <div class="build_item">
    <h3>Status, tests and other interesting details</h3>
    <table>
      <tr><td width="890">
      	<a href="reports/junit-noframes.html">Test results</a>
      </td></tr>
    </table>
   </div>
  </div>
 </div>
 <div class="blue">
  <div id="footer">
    <p>All downloads are provided under the terms and conditions of the Eclipse.org Software User Agreement unless otherwise specified.</p>
    <p>If you have problems downloading the drops, contact the webmaster.</p>
  </div>
 </div>
</div>
</body>
</html>
