<!-- 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="Export 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_2.1.2" />
	</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}" />
		
		<!-- Create the jdi model jar -->
		<jar 
			jarfile="${dest}/jdimodel.jar"
			basedir="bin"
			includes="org/**"
		/>
		
		<!-- Create the jdi interfaces jar -->
		<jar 
			jarfile="${dest}/jdi.jar"
			basedir="bin"
			includes="com/**"
		/>
		
		<!-- Create the source zip -->
		<zip zipfile="${dest}/jdimodelsrc.zip">
			<fileset dir="model"/>
			<fileset dir="jdi"/>
			<fileset dir="eval"/>
		</zip>
		<!-- Create the jdi interfaces source zip -->
		<zip zipfile="${dest}/jdiinterfacessrc.zip">
			<fileset dir="jdi interfaces"/>
		</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>
