<!-- Export a jar of .class files for the org.eclipse.debug.core Eclipse plugin
     along with other important plugin files to the "plugin-export" subdirectory
     of the target Eclipse installation -->
<project name="org.eclipse.debug.core" default="export" basedir="..">

	<!-- Set the timestamp and important properties -->
	<target name="init">
		<tstamp/>
		<property name="destdir" value="../../plugin-export" />
		<property name="dest"  value="${destdir}/org.eclipse.debug.core_2.1.0" />
	</target>

	<!-- Create the jar of .class files, and copy other important files to export dir -->
	<target name="export" depends="init">
		<mkdir dir="${destdir}" />
		<delete dir="${dest}" />
		<mkdir dir="${dest}" />
		<jar 
			jarfile="${dest}/dtcore.jar"
			basedir="bin"
		/>
		<!-- Create the source zip -->
		<zip zipfile="${dest}/dtcoresrc.zip">
			<fileset dir="core"/>
		</zip>		
		<copy file="plugin.xml" todir="${dest}"/>
		<copy file="plugin.properties" todir="${dest}"/>
		<copy file=".classpath" todir="${dest}"/>
		<copy file=".options" todir="${dest}"/>
	</target>
	
</project>
