<h2>Download from file archives</h2>
<p>About the only reason you would want to use this page is if you are developing and testing build scripts for AMP
or if you are setting up an automated build that is based on AMP. (Even then you can probably use the update sites if
you're using CBI / Hudson.) If you want to use AMP to develop models, or extend AMP, use the <a href="updates.php">update
site</a>. If you're planning to develop for AMP, see <a href="../developers/building.php">build documentation</a>.</p>
<p>OK, if you're still reading this, here are the details..</p>
<h4>AMP Downloads</h4>
<ul>
				<li><a
								href="http://www.eclipse.org/downloads/download.php?file=/amp/drops/0.8.0/R201007010013/AMP-SDK-0.8.0.zip">Release
				SDK</a></li>
				<li><a
								href="http://www.eclipse.org/downloads/download.php?file=/amp/drops/0.8.0/R201007010013/AMP-Update-0.8.0.zip">Release
				Bundled Update Site (for dependencies)</a></li>
</ul>
<h4>Required Dependencies</h4>
<ul>
				<li><a href="http://download.eclipse.org/eclipse/downloads/"> Latest Eclipse Helios (3.6) Release</a></li>
				<li><a href='http://www.eclipse.org/modeling/emf/downloads/?project=emf'> EMF Version 2.5.0 Release EMF+XSD</a></li>
				<li><a href='http://eclipse.org/modeling/emft/downloads/?project=mwe'>MWE</a></li>
				<li><a href='http://www.eclipse.org/modeling/m2t/downloads/?project=xpand'>XPand</a></li>
				<li><a href='http://www.eclipse.org/modeling/tmf/downloads/'>XText</a></li>
				<li><a href='http://www.eclipse.org/gef/downloads'> GEF</a></li>
				<li><a href='http://download.eclipse.org/birt/downloads/'> BIRT </a></li>
</ul>
<p>For AGF 3D, you currently need to grab the CVS. See information on <a
				href="http://wiki.eclipse.org/GEF3D_Installation">GEF 3D documentation</a>.</p>
<h4>Optional</h4>
<ul>
				<li><a href='https://sourceforge.net/projects/ascape/files/'> Ascape</a></li>
				<li><a href='http://repast.sourceforge.net/download.html'> Repast</a></li>
				<li><a href='http://lwjgl.org/download.php'> LWJGL</a></li>
</ul>

<p>Seriously, just use the update site, ok?</p>