<?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.x</h3>
            <ul>
            	<li>1.14.102 (Simrel 2018-09): <a href="http://download.eclipse.org/datatools/1.14.102.201809101906/repository" target="_blank">update site</a> or <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.102.201809101906/dtp-repository-1.14.102.201809101906.zip" target="_blank">repo zip</a></li>

            	<li>1.14.100 (Photon): <a href="http://download.eclipse.org/datatools/1.14.100.201805031905/repository" target="_blank">update site</a> or <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.100.201805031905/dtp-repository-1.14.100.201805031905.zip" target="_blank">repo zip</a></li>

            	<li>1.14.1 (Oxygen): <a href="http://download.eclipse.org/datatools/1.14.1.201712071719/repository" target="_blank">update site</a> or <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.1.201712071719/dtp-repository-1.14.1.201712071719.zip" target="_blank">repo zip</a></li>
			 	<li>1.14.0 (Oxygen): <a href="http://download.eclipse.org/datatools/1.14.0.201701131441/repository" target="_blank">update site</a> or <a href="http://www.eclipse.org/downloads/download.php?file=/datatools/1.14.0.201701131441/dtp-repository-1.14.0.201701131441.zip" target="_blank">repo zip</a></li>
		 	</ul> 
        </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">update site</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">repo zip</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</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</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">repo zip</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">repo zip</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">repo zip</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">repo zip</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);
?>
