<?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.0.201701112120 (Development Build for Eclipse Oxygen M4)</h3>              
            <p>
                <a href="http://download.eclipse.org/datatools/1.14.0.201701112120/repository" target="_blank">Online Repository</a>
		 	</p>
		 	<p>
		 	    <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.0.201701112120/dtp-repository-1.14.0.201701112120.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">Online 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);
?>
