<?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());
	
/*******************************************************************************
 * Copyright (c) 2009, 2017 Eclipse Foundation and others.
 * 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: Christopher Frost
 * Contributors: Violeta Georgieva
 *    
 *******************************************************************************/

	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Gemini Web - Release Downloads";
	$pageKeywords	= "Eclipse, EclipseRT, Virgo, OSGi, Downloads";
	$pageAuthor		= "Christopher Frost";
		
	ob_start();
?>

	<script type="text/javascript">
            window.addEvent('domready', function() {
                    new Accordion('h4.toggle', 'div.accordion', {initialDisplayFx: false});
            });
	</script>
	
	<div id="midcolumn">
		<h2>Gemini Web Downloads</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>
		
		
		<h4 class='toggle'>3.0.6.RELEASE</h4>
		<div class='accordion'>
			<ul>
				<li><a href='http://www.eclipse.org/gemini/web/download/release-notes/3.0.6.RELEASE.php' target='_self'>View Release Notes</a></li>
				<li><strong>Gemini Web</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/web/release/GW/3.0.6.RELEASE/gemini-web-3.0.6.RELEASE.zip' target='_self'>Download</a></li>
				<li><strong>Gemini Web p2 repository</strong> - <a href='http://download.eclipse.org/gemini/updates/web/3.0.6/' target='_self'>http://download.eclipse.org/gemini/updates/web/3.0.6/</a></li>
				<li><strong>Gemini Web maven repository</strong> - <a href='http://download.eclipse.org/gemini/mvn/' target='_self'>http://download.eclipse.org/gemini/mvn/</a></li>
                    <table id="packaging">
                    <tr><th class="packaging-content">groupId</th><th class="packaging-content">artifactId</th><th class="packaging-content">version</th></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.core</td><td class="packaging-content">3.0.6.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.extender</td><td class="packaging-content">3.0.6.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.tomcat</td><td class="packaging-content">3.0.6.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.jaspic.fragment</td><td class="packaging-content">3.0.6.RELEASE</td></tr>
                    </table>
				<li>Documentation is included with the download and can be viewed on line <a href="http://www.eclipse.org/gemini/web/documentation/">here</a>.
			</ul>
		</div>
		<h4 class='toggle'>2.2.7.RELEASE</h4>
		<div class='accordion'>
			<ul>
				<li><a href='http://www.eclipse.org/gemini/web/download/release-notes/2.2.7.RELEASE.php' target='_self'>View Release Notes</a> (<a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=224445">Download approved IP log</a>)</li>
				<li><strong>Gemini Web</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/web/release/GW/2.2.7.RELEASE/gemini-web-2.2.7.RELEASE.zip' target='_self'>Download</a></li>
				<li><strong>Gemini Web p2 repository</strong> - <a href='http://download.eclipse.org/gemini/updates/web/2.2.7/' target='_self'>http://download.eclipse.org/gemini/updates/web/2.2.7/</a></li>
				<li><strong>Gemini Web maven repository</strong> - <a href='http://download.eclipse.org/gemini/mvn/' target='_self'>http://download.eclipse.org/gemini/mvn/</a></li>
                    <table id="packaging">
                    <tr><th class="packaging-content">groupId</th><th class="packaging-content">artifactId</th><th class="packaging-content">version</th></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.core</td><td class="packaging-content">2.2.7.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.extender</td><td class="packaging-content">2.2.7.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.tomcat</td><td class="packaging-content">2.2.7.RELEASE</td></tr>
                    </table>
				<li>Documentation is included with the download and can be viewed on line <a href="http://www.eclipse.org/gemini/web/documentation/">here</a>.
			</ul>
		</div>
		<h4 class='toggle'>2.1.0.RELEASE</h4>
		<div class='accordion'>
			<ul>
				<li><a href='http://www.eclipse.org/gemini/web/download/release-notes/2.1.0.RELEASE.php' target='_self'>View Release Notes</a> (<a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=219018">Download approved IP log</a>)</li>
				<li><strong>Gemini Web</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/web/release/GW/2.1.0.RELEASE/gemini-web-2.1.0.RELEASE.zip' target='_self'>Download</a></li>
				<li><strong>Gemini Web p2 repository</strong> - <a href='http://download.eclipse.org/gemini/updates/web/2.1.0/' target='_self'>http://download.eclipse.org/gemini/updates/web/2.1.0/</a></li>
				<li><strong>Gemini Web maven repository</strong> - <a href='http://download.eclipse.org/gemini/mvn/' target='_self'>http://download.eclipse.org/gemini/mvn/</a></li>
                    <table id="packaging">
                    <tr><th class="packaging-content">groupId</th><th class="packaging-content">artifactId</th><th class="packaging-content">version</th></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.core</td><td class="packaging-content">2.1.0.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.extender</td><td class="packaging-content">2.1.0.RELEASE</td></tr>
                    <tr><td class="packaging-content">org.eclipse.gemini</td><td class="packaging-content">org.eclipse.gemini.web.tomcat</td><td class="packaging-content">2.1.0.RELEASE</td></tr>
                    </table>
				<li>Documentation is included with the download and can be viewed on line <a href="http://www.eclipse.org/gemini/web/documentation/">here</a>.
			</ul>
		</div>
		<h4 class='toggle'>2.0.2.RELEASE</h4>
		<div class='accordion'>
			<ul>
				<li><a href='http://www.eclipse.org/gemini/web/download/release-notes/2.0.2.RELEASE.php' target='_self'>View Release Notes</a> (<a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=200887">Download approved IP log</a>)</li>
				<li><strong>Gemini Web</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/web/release/GW/2.0.2.RELEASE/gemini-web-2.0.2.RELEASE.zip' target='_self'>Download</a></li>
				<li><strong>Gemini Web p2 repository</strong> - <a href='http://download.eclipse.org/gemini/updates/web/2.0.2/' target='_self'>http://download.eclipse.org/gemini/updates/web/2.0.2/</a></li>
				<li>Documentation is included with the download and can be viewed on line <a href="http://www.eclipse.org/gemini/web/documentation/">here</a>.
			</ul>
		</div>
		<h4 class='toggle'>1.1.1.RELEASE</h4>
		<div class='accordion'>
			<ul>
				<li><a href='http://www.eclipse.org/gemini/web/download/release-notes/1.1.1.RELEASE.php' target='_self'>View Release Notes</a> (<a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=179879">Download approved IP log</a>)</li>
				<li><strong>Gemini Web</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/web/release/GW/1.1.1.RELEASE/gemini-web-1.1.1.RELEASE.zip' target='_self'>Download</a> (Updated on 2 November 2010 to fix <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329264">bug 329264</a>)</li>
			</ul>
		</div>

		<h2>Development Milestones</h2>
		<p>
			Development milestones are available for <a href="http://www.eclipse.org/gemini/web/download/milestones.php">download</a>. 
		</p>
	
	</div>

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