<!-- 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}" />
		
		<!-- 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>
