<?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 Kepler (4.3) and Luna(4.4).
    </p>
    
	 <p><strong>Latest release : 1.1.0 </strong></p>
        <ul>
        <li>
            Kepler (e4.3) / Luna (e 4.4) : <a href="http://download.eclipse.org/m2e-wtp/releases/luna/">http://download.eclipse.org/m2e-wtp/releases/luna/</a>
        </li>
        </ul>
        
    <p><strong>Latest Milestone : 1.2.0.M3</strong></p>
    <ul>
        <li>
            Luna (e4.4) / Mars (e 4.5) : <a href="http://download.eclipse.org/m2e-wtp/milestones/mars/1.2.0/">http://download.eclipse.org/m2e-wtp/milestones/mars/1.2.0/</a>
        </li>
    </ul>


	<p><strong>Latest m2e-wtp dev build</strong></p>
        <ul><li>Kepler (e4.3) / Luna (e 4.4) : 
	<a href="http://download.eclipse.org/m2e-wtp/snapshots/luna">http://download.eclipse.org/m2e-wtp/snapshots/luna</a>
        </li>
        </ul>

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