<!-- Export a jar of .class files for the org.eclipse.jdt.debug 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.jdt.debug" />
	</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}/jdimodel.jar"
			basedir="../bin"
		/>
		<!-- Create the source zip -->
		<zip zipfile="${dest}/jdimodelsrc.zip">
			<fileset dir="../Eclipse Java Core Debug"/>
			<fileset dir="../Eclipse JDI"/>
		</zip>
		<copy file="../plugin.xml" todir="${dest}"/>
		<copy file="../plugin.jars" todir="${dest}"/>
		<copy file="../jdi.jar" todir="${dest}"/>
		<copy file="../.classpath" todir="${dest}"/>
		<copy file="../.options" todir="${dest}"/>
	</target>
	
</project>
