<?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'
	$pageTitle 		= "m2e-wtp - Downloads";

	$html = <<<EOHTML
<div id="midcolumn">
	<h3>Installing m2e-wtp</h3>

    <p>m2e-wtp requires an Eclipse Java EE distribution, and can be installed from the releases update site.
       m2e-wtp is generally compatible with Eclipse Luna (4.4) and Mars(4.5).
    </p>

	 <p><strong>Latest release : 1.2.1 </strong></p>
        <ul>
        <li>
            Luna (e4.4) / Mars (e4.5): <a href="http://download.eclipse.org/m2e-wtp/releases/mars/">http://download.eclipse.org/m2e-wtp/releases/mars/</a>
        </li>
        </ul>
<!--
    <p><strong>Latest Milestone : 1.3.0.M1</strong></p>
    <ul>
        <li>
            Mars (e4.5) / Neon (e4.6): <a href="http://download.eclipse.org/m2e-wtp/milestones/neon/1.3.0/">http://download.eclipse.org/m2e-wtp/milestones/neon/1.3.0/</a>
        </li>
    </ul>

	<p><strong>Latest m2e-wtp dev build</strong></p>
        <ul><li>Neon (e4.6) :
	<a href="http://download.eclipse.org/m2e-wtp/snapshots/neon">http://download.eclipse.org/m2e-wtp/snapshots/neon</a>
        </li>
        </ul>

				-->
</div>
EOHTML;

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