<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
/*******************************************************************************
 * Copyright (c) 2009, 2013
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Stephan Herrmann
 *******************************************************************************/

	$pageTitle 		= "Object Teams - Download";
	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/objectteams/css/style.css"/>');
	$App->AddExtraHtmlHeader('<style type="text/css">.col-md-4 { width: 20%; !important; }</style>');
	

	# add a complete nav definition:
	# $Nav->addCustomNav( "About This Project", "/projects/project_summary.php?projectid=tools.objectteams", "", 1  );
	# $Nav->addNavSeparator("Object Teams", 	"/objectteams");
	# $Nav->addCustomNav("Download", "/objectteams/download.php", "_self", 2);
	# $Nav->addCustomNav("Releases 2.2.x", "#R22", "_self", 3);
	# $Nav->addCustomNav("How To Install", "#howto", 3);
    # $Nav->addCustomNav("Previous Releases", "#previous", 3);
    # $Nav->addCustomNav("Retention Policy", "#retention", 3);
    # "#R22" Milestone releases towards 2.2 Eclipse 4.3Mx)
	
	# $Nav->addCustomNav("Documentation", "/objectteams/documentation.php", "_self", 2);
	# $Nav->addCustomNav("Support", "/objectteams/support.php", "_self", 2);
	# $Nav->addCustomNav("Getting Involved", "/objectteams/getting_involved.php", "_self", 2);
	# $Nav->addCustomNav("Project Plan", "https://www.eclipse.org/projects/project-plan.php?projectid=tools.objectteams", "_self", 2);
	
	$Nav->addNavSeparator("On this page", "/objectteams/download.php", "_self");
	$Nav->addCustomNav("Releases 2.5.x", "#R25", "_self", 3);
	$Nav->addCustomNav("How To Install", "#howto", 3);
    $Nav->addCustomNav("Previous&nbsp;Releases", "#previous", 3);
    $Nav->addCustomNav("Retention Policy", "#retention", 3);
	
	$Nav->addNavSeparator("Documentation Quicklinks", "");
	$Nav->addCustomNav("Quick-Start", 	"https://wiki.eclipse.org/Object_Teams_Quick-Start", "_blank", 2);
	$Nav->addCustomNav("User Guide", 	"https://help.eclipse.org/topic/org.eclipse.objectteams.otdt.doc/guide/develop.html", "_blank", 2);
	$Nav->addCustomNav("Language&nbsp;Definition", 	"https://help.eclipse.org/topic/org.eclipse.objectteams.otdt.doc/guide/otjld/def/index.html", "_blank", 2);

	$html  = <<<EOHTML
<div id="midcolumn" style="width:80%; !important;">
	<h1>$pageTitle</h1>
	<p>All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a> unless otherwise specified.</p>
	
		<ul class="novaArrow">
        <li><a href="features.php">Features of the Object Teams Development Tooling (OTDT)</a></li>
        <li><a href="https://wiki.eclipse.org/images/f/fc/OTDT_Overview.png">Screenshot of the OTDT in action</a></li>
        </ul>


	<h2><a name="R25"></a>Stable Release 2.5.x for Eclipse 4.6 (Neon)</h2>
        <table class="btn-warning orange-box" style="margin:0px;padding:4px;width:100%">
            <tr>
                <td><img src="images/Idea.png"></td>
                <td style="width:100%;padding:8px;">
               		Object Teams is part of the <b><a href="https://www.eclipse.org/neon">Neon simultaneous release</a></b>.
					This means, no further URL must be configured for installing the OTDT and/or OT/Equinox,
					simply select the <a href="https://download.eclipse.org/releases/neon">Neon - https://download.eclipse.org/releases/neon</a> 
					software site and open the <b>Programming Languages</b> category.
                </td>
          	</tr>
        </table>

        <table border="0" style="margin-left:30px;margin-top:10px;margin-bottom:10px;">
            <tbody><tr>
                <td><a href="https://download.eclipse.org/objectteams/updates/ot2.5"><img src="https://dev.eclipse.org/huge_icons/actions/go-bottom.png" alt="Download" align="left"></a></td>
                <td style="width: 100%; padding-left: 6px;">A specific repository containing just Object Teams 2.5.x  can be found at
			<a href="https://download.eclipse.org/objectteams/updates/ot2.5">https://download.eclipse.org/objectteams/updates/ot2.5</a>
                </td>
            </tr>
        </tbody></table>
        <div style="margin-left:30px;" class="block-box block-box-classic">
            <h3 style="margin-bottom:2px;">Release 2.5:</h3>
            <table width="100%" id="DL25">
	            <tbody><tr valign="top"><th>&nbsp;</th><th class="dl-cell" style="padding-left:10px;">Required Eclipse Version</th>
						<th class="dl-cell">Command Line Compiler</th><th class="dl-cell">New&nbsp;&amp; Noteworthy</th><th class="dl-cell">Bugs Fixed</th></tr>
			<tr><td colspan="5" class="release-cell"><strong>OTDT 2.5.3 Update Release</strong> &mdash; (2017/03/23)<br/>
	            	<img src="images/otdt/warning_obj@2x.png"/><b><font color="red">Note:</font> final version 2.5.3 is available <em>only</em> from 
	            		<a href="http://download.eclipse.org/objectteams/updates/ot2.5/201703071318">http://download.eclipse.org/objectteams/updates/ot2.5 
	            		<img src="https://dev.eclipse.org/huge_icons/actions/go-bottom.png" width="32" height="32" alt="Download"/></a></b></td>
    		</tr>
                <tr><td style="width: 50px;">&nbsp;</td>
                    <td class="dl-cell" style="padding-left:5px;"><a href="http://download.eclipse.org/eclipse/downloads/drops4/R-4.6.3-201703010400/"><img src="images/arrow.gif">Eclipse&nbsp;SDK&nbsp;4.6.3</a></td>
                    <td class="dl-cell" style="min-width: 110px;padding-left:5px;"><a href="https://www.eclipse.org/downloads/download.php?file=/objectteams/ecotj/ecotj-R-2.5.3-201703071315.jar"><img src="images/otdt/jar_obj.gif" valign="middle"> ecotj.jar</a></td>
                    <td class="dl-cell">&nbsp;</td>
                    <td class="dl-cell"><a href="https://bugs.eclipse.org/bugs/buglist.cgi?j_top=OR&classification=Tools&query_format=advanced&product=Objectteams&resolution=FIXED&target_milestone=2.5.3"><img title="Bugs fixed for 2.5.3" src="images/bug.gif"></a></td>
                </tr>
			<tr><td colspan="5" class="release-cell"><strong>OTDT 2.5.2 Update Release</strong> &mdash; (2016/12/21)</td></tr>
                <tr><td style="width: 50px;">&nbsp;</td>
                    <td class="dl-cell" style="padding-left:5px;"><a href="http://download.eclipse.org/eclipse/downloads/drops4/R-4.6.2-201611241400/"><img src="images/arrow.gif">Eclipse&nbsp;SDK&nbsp;4.6.2</a></td>
                    <td class="dl-cell" style="min-width: 110px;padding-left:5px;"><a href="https://www.eclipse.org/downloads/download.php?file=/objectteams/ecotj/ecotj-R-2.5.2-201612071654.jar"><img src="images/otdt/jar_obj.gif" valign="middle"> ecotj.jar</a></td>
                    <td class="dl-cell">&nbsp;</td>
                    <td class="dl-cell"><a href="https://bugs.eclipse.org/bugs/buglist.cgi?j_top=OR&classification=Tools&query_format=advanced&product=Objectteams&resolution=FIXED&target_milestone=2.5.2"><img title="Bugs fixed for 2.5.2" src="images/bug.gif"></a></td>
                </tr>
			<tr><td colspan="5" class="release-cell"><strong>OTDT 2.5.1 Update Release</strong> &mdash; (2016/09/28)</td></tr>
                <tr><td style="width: 50px;">&nbsp;</td>
                    <td class="dl-cell" style="padding-left:5px;"><a href="http://download.eclipse.org/eclipse/downloads/drops4/R-4.6.1-201609071200/"><img src="images/arrow.gif">Eclipse&nbsp;SDK&nbsp;4.6.1</a></td>
                    <td class="dl-cell" style="min-width: 110px;padding-left:5px;">&nbsp;</td>
                    <td class="dl-cell">&nbsp;</td>
                    <td class="dl-cell"><a href="https://bugs.eclipse.org/bugs/buglist.cgi?j_top=OR&classification=Tools&query_format=advanced&product=Objectteams&resolution=FIXED&target_milestone=2.5.1"><img title="Bugs fixed for 2.5.1" src="images/bug.gif"></a></td>
                </tr>
			<tr><td colspan="5" class="release-cell"><strong>OTDT 2.5.0 Final Release</strong> &mdash; (2016/06/22)</td></tr>
                <tr><td style="width: 50px;">&nbsp;</td>
                    <td class="dl-cell" style="padding-left:5px;"><a href="https://download.eclipse.org/eclipse/downloads/drops4/R-4.6-201606061100/"><img src="images/arrow.gif">Eclipse&nbsp;SDK&nbsp;4.6</a></td>
                    <td class="dl-cell" style="min-width: 110px;padding-left:5px;"><a href="https://www.eclipse.org/downloads/download.php?file=/objectteams/ecotj/ecotj-R-2.5.0-201606070953.jar"><img src="images/otdt/jar_obj.gif" valign="middle"> ecotj.jar</a></td>
                    <td class="dl-cell">&nbsp;<a href="https://www.eclipse.org/objectteams/pages/new_in_2.5.html"><img src="https://www.eclipse.org/jdt/core/images/new.png"></a></td>
                    <td class="dl-cell"><a href="https://bugs.eclipse.org/bugs/buglist.cgi?j_top=OR&classification=Tools&query_format=advanced&product=Objectteams&resolution=FIXED&target_milestone=2.5&target_milestone=2.5%20M1&target_milestone=2.5%20M2&target_milestone=2.5%20M3&target_milestone=2.5%20M4&target_milestone=2.5%20M5&target_milestone=2.5%20M6&target_milestone=2.5%20M7&target_milestone=2.5%20RC"><img title="Bugs fixed for 2.5" src="images/bug.gif"></a></td>
                </tr>
			</tbody></table>
        </div>

	<h2><a name="howto"></a>Howto Install</h2>
	<strong>Nothing special, just...</strong>
	<ol>
	<li>Install <a href="https://download.eclipse.org/eclipse/downloads/drops4/R-4.6-201606061100/">Eclipse SDK 4.6</a> (you may also use your favorite Eclipse Package but it has to be exactly 4.6 for OTDT 2.5).</li>
	<li>Open "<code>Help > Install New Software ...</code>"</li> 
	<li>Choose <a href="https://download.eclipse.org/releases/neon">Neon - https://download.eclipse.org/releases/neon</a> 
			software site and open the <b>Programming Languages</b> category.</li>
	<li>Select these features
		<ul>
		<li><strong>Object Teams Development Tooling</strong>: the IDE for Object Teams</li>
		<li><strong>Object Teams Equinox Integration</strong>: runtime required by the above feature</li>
		<li><em>Optionally:</em> Object Teams Equinox Integration - Turbo Add-On: <a title="aspect permission negotiation &amp; forced exports">special features of OT/Equinox</a></li>
		</ul></li>
	<li><i>Recommended: un-check "Contact all update sites during install to find required software"</i></li>
	<li>Click through the wizard upto and including the required restart of Eclipse.</li>
	</ol>
		 
	<strong>Some hints on how you may check the installation:</strong>
	<ul>
	<li>Browse content from the welcome page or from help ("Object Teams Development User Guide").</li>
	<li>Find new icons in "About Eclipse SDK" dialog</li>
	<li>From this about dialog click through to the plug-ins of "Eclipse RCP" and scroll to the "Workbench" plug-in:</br>
	    You should see a note that this plug-in is adapted by two Object Teams plug-ins.</li>
	<li>Install a shipped OT/J example via "<code>File > New > Example ...</code>", one of
		<ul>
		<li>Stop Watch Example (easiest).</li>
		<li>Observer Example (straight forward).</li>
		<li>Flight Bonus Example (comprehensive, high density of OT/J concepts).</li>
		<li>Order System Example (comprehensive, not quite as dense).</li>
		<li>ATM Example (special demo for guard predicates).</li>
		</ul></li>
	</ul>

	<h2><a name="previous"></a>Previous Releases for Eclipse 3.3 - 4.5</h2>
		<ul>
		<li><a href="download-prev.php">Release up-to 2.2.x for Eclipse 4.5.x</a>
		<li>For still older versions, you may still
		consult our <a href="http://www.objectteams.org/distrib/otdt.html" target=_blank>old download page</a> at <b>www.objectteams.org</b> for existing releases.</li>		
		</ul>
	<h2><a name="retention"></a>Retention Policy</h2>
	<ul>
	<li>Official releases (incl. service releases) will never be removed from the server<br/>(old versions may be moved to the archive site, though)</li>
	<li>Milestone builds will be kept until the final release</li>
	<li>No such promises are made for any intermediate ("unstable") versions</li>
	</ul> 
	
</div> <!-- midcolumn -->


EOHTML;
	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>