<?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) 2012
 * 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
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    
 *******************************************************************************/

	$pageTitle 		= "GMF Tooling - Download";
	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/default/style.css"/>');

	$html  = <<<EOHTML
<div id="midcolumn">
<h2>$pageTitle</h2>
<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>
<h2>Prerequisites</h2>
<p>The best way to install GMF-T is to use update sites below, it will manage the required dependencies automatically.<br/ >
If you feel strongly about using drop-ins, make sure you have also installed the prerequisites: <br />
<b>Eclipse Modeling Package: </b> from <a href="http://www.eclipse.org/downloads/packages/">here</a>. <br />
<b>MMT QVTO: </b> from <a href="http://www.eclipse.org/mmt/downloads/?project=qvto">here</a>.
</p>

<h3>Installation via Eclipse Update Manager</h3>
<p>Using the Eclipse Update Manager (see <a href="http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-129.htm">Eclipse Help</a> for detailed instructions) GMF Tooling can be installed from the following update sites:
<ul>
	<li>Last Release: <a href="http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases/">http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases/</a></li>
	<li>Nightly Builds: <a href="http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/dev-snapshots/3.2/">http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/dev-snapshots/3.2/</a></li>
</ul>

<h3>Downloadable P2 Repositories and SDK dropins</h3>
<p>If you prefer an update-site or an SDK archive, you can download it from <a href="downloads/index.php">here directly</a>.</p>

<h3>Juno - GMF Tooling 3.0.0 </h3>
<p>
<b>Update site:</b> http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.0.0/ or <a href="http://www.eclipse.org/downloads/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.0.0/R201206221900/gmf-tooling-update-3.0.0.v201206221900.zip">this archive</a>
<br /><br />
</p>

<h3>Juno SR2 - GMF Tooling 3.0.0 SR2</h3>
<p>
<b>Update site:</b> http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.0.2/ or <a href="http://www.eclipse.org/modeling/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.0.2/R201301181200/gmf-Update-3.0.2.v201301181200.zip">this archive</a>
<br />
</p>

<h3>Kepler - GMF Tooling 3.1.0</h3>
<p>
<b>Update site:</b> http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.1.0/ or <a href="http://www.eclipse.org/modeling/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201306121500/gmf-tooling-update-3.1.0.v201306121500.zip">this archive</a>
<br />
<b>ZIP file: </b>
<a href="http://www.eclipse.org/modeling/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201306121500/gmf-tooling-sdk-3.1.0.v201306121500.zip">3.1.0 (Kepler)</a> 
(<a href="http://www.eclipse.org/modeling/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201306121500/gmf-tooling-sdk-3.1.0.v201306121500.zip.md5">md5</a>)
</p>

<h3>Kepler SR2 - GMF Tooling 3.1.2 SR2</h3>
<p>
<b>Update site:</b> http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.1.2/ or <a href="http://www.eclipse.org/downloads/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201403031500/gmf-tooling-update-3.1.2.v201403031500.zip">this archive</a>
<br />
<b>ZIP file: </b>
<a href="http://www.eclipse.org/downloads/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201403031500/gmf-tooling-sdk-3.1.2.v201403031500.zip">3.1.2 (Kepler SR2)</a> 
(<a href="http://www.eclipse.org/downloads/download.php?file=/modeling/gmp/gmf-tooling/downloads/drops/3.1.0/R201403031500/gmf-tooling-sdk-3.1.2.v201403031500.zip.md5">md5</a>)
</p>

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