<?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.201701131441 (Development Build for Eclipse Oxygen M4)</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);
?>
