<?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'

	#*****************************************************************************
	#
	# template.php
	#
	# Original Author: 		Nathan Gervais
	# Date:			2007-12-05
	#
	# Description: DTP Downloads Page
	#
	#****************************************************************************	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse Data Tools Platform (DTP) Project Downloads";
	$pageKeywords	= "eclipse, data tools, dtp, datatools";
	
	ob_start();
	?>
	<style>
		.homeitem3col p {
			padding-left:10px;
		}
	</style>
	<div id="midcolumn">
		<h1><?=$pageTitle; ?></h1>

        <div class="homeitem3col">
            <h3>DTP 1.14.1 (Eclipse Oxygen)</h3>              
            <p>
                <a href="http://download.eclipse.org/datatools/1.14.1.201712071719/repository" target="_blank">Repository</a>
		 	</p>
		 	<p>
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.1.201712071719/dtp-repository-1.14.1.201712071719.zip" target="_blank">Offline Repository</a>
		 	</p> 
        </div>

        <div class="homeitem3col">
            <h3>DTP 1.14 (Eclipse Oxygen)</h3>              
            <p>
                <a href="http://download.eclipse.org/datatools/1.14.0.201701131441/repository" target="_blank">Repository</a>
		 	</p>
		 	<p>
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.0.201701131441/dtp-repository-1.14.0.201701131441.zip" target="_blank">Offline Repository</a>
		 	</p> 
        </div>

        <div class="homeitem3col">
            <h3>DTP 1.13 (Eclipse Neon)</h3>              
            <p>
                <a href="http://download.eclipse.org/datatools/updates/1.13/1.13.0.201603142002/repository" target="_blank">Repository</a>
		 	</p>
		 	<p>
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/updates/1.13/1.13.0.201603142002/dtp-repository-1.13.0.201603142002.zip" target="_blank">Offline Repository</a>
		 	</p> 
        </div>

		<div class="homeitem3col">
			<h3>DTP 1.12</h3>
			<p>
				<i>Requirements:</i> <a href="http://download.eclipse.org/eclipse/downloads/" target="_blank">Eclipse 4.2.2 SDK</a>, 
					      <a href="http://www.eclipse.org/modeling/emf/downloads/?project=emf" target="_blank">EMF 2.8.3 (EMF + XSD)</a>, 
					      <a href="http://www.eclipse.org/gef/downloads/" target="_blank">GEF 3.8.2</a> and JDK 1.6</p>
					      <p><i>Tested also with</i> Eclipse 4.4, EMF 2.10, GEF 3.9.100</p> 
		    <p><a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.12/directory_1.12.0.txt" target="_blank">Map files</a> used for 1.12.0 Release build.</p>  
		      
		 	<p><b>DTP 1.12.0 Extender SDK (Includes source and JavaDocs)</b><br/><br/>
		 	  
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.12/dtp-sdk_1.12.0.zip" target="_blank">
		 	  	  <b>DTP 1.12.0</b></a> (dtp-sdk_1.12.0.zip ~27MB)<br/>
			  
		      <br/><b>DTP 1.12.0 End User (No source or JavaDocs)</b><br/><br/>
		          
		        <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.12/dtp_1.12.0.zip" target="_blank">
		      	<b>DTP 1.12.0</b></a> (dtp_1.12.0.zip ~16MB)<br/>

			  <br/><b>DTP 1.12.0 P2 Repo</b><br/><br/>
 	            <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.12/dtp-p2repo_1.12.0.zip" target="_blank">
 	  	        <b>DTP 1.12.0</b></a> (dtp-p2repo_1.12.0.zip ~42MB)<br/><br/>
		     
		      <p><a href="http://download.eclipse.org/datatools/updates/1.12" target="_blank">DTP 1.12.x Update Site Repository</a> (http://download.eclipse.org/datatools/updates/1.12)</p>	
		    </p>   
		</div>

		<div class="homeitem3col">
			<h3>DTP 1.11.2</h3>
			<p>
				<i>Requirements:</i> <a href="http://download.eclipse.org/eclipse/downloads/index.php" target="_blank">Eclipse 3.7.2 SDK</a>, 
					      <a href="http://www.eclipse.org/modeling/" target="_blank">EMF 2.7.2 (EMF + SDO)</a>, 
					      <a href="http://download.eclipse.org/tools/gef/downloads/" target="_blank">GEF 3.7.2</a> and JDK 1.6</p>
					      <p><i>Tested also with</i> Eclipse 4.3, EMF 2.9, GEF 3.9</p> 
		    <p><a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.11/directory_1.11.2.txt" target="_blank">Map files</a> used for 1.11.2 Release build.</p>  
		      
		 	<p><b>DTP 1.11.2 Extender SDK (Includes source and JavaDocs)</b><br/><br/>
		 	  
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.11/dtp-sdk_1.11.2.zip" target="_blank">
		 	  	  <b>DTP 1.11.2</b></a> (dtp-sdk_1.11.2.zip ~26MB)<br/>
			  
		      <br/><b>DTP 1.11.2 End User (No source or JavaDocs)</b><br/><br/>
		          
		        <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.11/dtp_1.11.2.zip" target="_blank">
		      	<b>DTP 1.11.2</b></a> (dtp_1.11.2.zip ~16MB)<br/>

			  <br/><b>DTP 1.11.2 P2 Repo</b><br/><br/>
 	            <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.11/dtp-p2repo_1.11.2.zip" target="_blank">
 	  	        <b>DTP 1.11.2</b></a> (dtp-p2repo_1.11.2.zip ~42MB)<br/><br/>
		     
		      <p><a href="http://download.eclipse.org/datatools/updates/1.11" target="_blank">DTP 1.11.x Update Site Repository</a> (http://download.eclipse.org/datatools/updates/1.11)</p>	
		    </p>   
		</div>

		<div class="homeitem3col">
			<h3>DTP 1.10.2</h3>
			<p>
				<i>Requirements:</i> <a href="http://download.eclipse.org/eclipse/downloads/index.php" target="_blank">Eclipse 3.7.2 SDK</a>, 
					      <a href="http://www.eclipse.org/modeling/" target="_blank">EMF 2.7.2 (EMF + SDO)</a>, 
					      <a href="http://download.eclipse.org/tools/gef/downloads/" target="_blank">GEF 3.7.2</a> and JDK 1.6</p>
					      <p><i>Tested also with</i> Eclipse 4.2, EMF 2.8, GEF 3.8</p> 
		    <p><a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.10/directory_1.10.2.txt" target="_blank">Map files</a> used for 1.10.2 Release build.</p>  
		      
		 	<p><b>DTP 1.10.2 Extender SDK (Includes source and JavaDocs)</b><br/><br/>
		 	  
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.10/dtp-sdk_1.10.2.zip" target="_blank">
		 	  	  <b>DTP 1.10.2</b></a> (dtp-sdk_1.10.2.zip ~41MB)<br/>
			  
		      <br/><b>DTP 1.10.2 End User (No source or JavaDocs)</b><br/><br/>
		          
		       <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.10/dtp_1.10.2.zip" target="_blank">
		      	<b>DTP 1.10.2</b></a> (dtp_1.10.2.zip ~14MB)<br/><br/>
		    </p>   
		</div>

<!-- 	<div class="homeitem3col">
			<h3>DTP 2 (formerly 1.12.1) Builds</h3>
		
			<p>
			  <a href="http://download.eclipse.org/datatools/2.0.0.201511020902/repository/">2.0.0.201511020902</a>
			  (<a href="https://www.eclipse.org/downloads/download.php?file=/datatools/2.0.0.201511020902/dtp-repository-2.0.0.201511020902.zip">Offline Repository</a>)
            </p>
            					  
			<p>
			  <a href="http://download.eclipse.org/datatools/2.0.0.201510232009/repository/">2.0.0.201510232009</a>
			  (<a href="https://www.eclipse.org/downloads/download.php?file=/datatools/2.0.0.201510232009/dtp-repository-2.0.0.201510232009.zip">Offline Repository</a>)
            </p>
            					  
			<p>
			  <a href="http://download.eclipse.org/datatools/1.12.1.201510151656/repository/">1.12.1.201510151656</a>
			  (<a href="https://www.eclipse.org/downloads/download.php?file=/datatools/1.12.1.201510151656/dtp-repository-1.12.1.201510151656.zip">Offline Repository</a>)
            </p>
            					  
			<p>
			  <a href="http://download.eclipse.org/datatools/1.12.1.201510141301/repository/">1.12.1.201510141301</a>
			  (<a href="https://www.eclipse.org/downloads/download.php?file=/datatools/1.12.1.201510141301/dtp-repository-1.12.1.201510141301.zip">Offline Repository</a>)
            </p>

		</div>
-->
<!--
			<div class="homeitem3col">
				<h3>DTP 1.9.2 Incubating Component - ODA Ecore <img border="0" src="http://wiki.eclipse.org/images/0/04/DTP_Egg-incubation.png" width="46" height="60"></h3>
				
				<p>
					<i>Requirements:</i> <a href="http://download.eclipse.org/eclipse/downloads/index.php" target="_blank">Eclipse 3.6.2 SDK</a>, 
					      <a href="http://www.eclipse.org/modeling/" target="_blank">EMF 2.6.1 (EMF + SDO)</a>, 
					      <a href="http://download.eclipse.org/tools/gef/downloads/" target="_blank">GEF 3.6.2</a> ,
					      <a href="http://www.eclipse.org/downloads/download.php?file=/modeling/emf/query/downloads/drops/1.4.0/R201006151000/emf-query-runtime-1.4.0.zip">emf-query-runtime-1.4.0</a>,
					      <a href="http://www.eclipse.org/downloads/download.php?file=/modeling/mdt/ocl/downloads/drops/3.0.1/R201009240345/mdt-ocl-runtime-3.0.1.zip">mdt-ocl-runtime-3.0.1</a>,
					      <a href="http://www.eclipse.org/downloads/download.php?file=/modeling/mdt/uml2/downloads/drops/3.1.1/R201009141451/mdt-uml2-runtime-3.1.1.zip">mdt-uml2-runtime-3.1.1</a> and JDK 1.5</p>
					      
					      
						 <p><b>DTP Extender (SDK, Includes source and JavaDocs)</b><br/><br/>  	
					 	   <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.9.2/dtp-incubator-sdk-1.9.2RC4-201202050500.zip" target="_blank">
 	  	                      DTP Incubator 1.9.2RC4 SDK 2/5/12 Nightly Build</a> (dtp-incubator-sdk-1.9.2RC4-201202050500.zip ~110KB)<br/>
 	  	                     
 	                    <br/><b>DTP End-user (No source or JavaDocs)</b><br/><br/>
 	                         <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.9.2/dtp-incubator-1.9.2RC4-201202050500.zip" target="_blank">
 	  	                     DTP Incubator 1.9.2RC4 2/5/12 Nightly Build</a> (dtp-incubator-1.9.2RC4-201202050500.zip ~210KB)<br/></p>
 	  	                     		  
 	  	                <p><a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.9.2/build.log" target="_blank">Build Log</a>(log of Nightly Build)</p>
 	  	                
				</p>
			
			</div>
-->
			
<!-- 		<div class="homeitem3col">
				<h3>DTP Update Site</h3>
				  	<p>DTP releases can also be found on our <a href="http://download.eclipse.org/datatools/updates" target="_blank">update site</a> (http://download.eclipse.org/datatools/updates)</p>
-->				  	<!--
				  	<p>The DTP 1.8 <i>milestone</i> update site is <a href="http://download.eclipse.org/datatools/downloads/drops/N_updates_1.8" target="_blank">here</a> (http://download.eclipse.org/datatools/downloads/drops/N_updates_1.8).
				  	Note that only the current 1.8 milestone build is maintained on this site: earlier milestones are deleted.</p>
					-->
<!-- 			</div>
-->
			<div class="homeitem3col">
				<h3>Previous Releases & Milestones</h3>
					<p>A variety of previous releases and milestones can be found <a href="archived_downloads.php">here.</a></p>
			</div>
			<div class="homeitem3col">
				<h3>DTP Source Code</h3>
			        <p>
			        DTP source code is stored in Git repositories.  See <a href="http://wiki.eclipse.org/DTP_Source_Code_Repository">DTP Source Code Repository</a> for more information.
			        </p>
			</div>
	</div>
<?
	$html = ob_get_clean();
	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
