<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2005  IBM Corporation and others.                       -->
<!-- All rights reserved. This program and the accompanying materials      -->
<!-- are made available under the terms of the Eclipse Public License v1.0 -->
<!-- which accompanies this distribution, and is available at              -->
<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
<!--                                                                       -->
<!-- Contributors:                                                         -->
<!--    IBM Corporation - initial API and implementation                   -->
<project default="zip.source" basedir=".">

	<target name="init">
		<property name="project.folder" value="${basedir}"/>
		<property name="temp.folder" value="${basedir}/temp.folder"/>
	</target>

	<target name="zip.source" depends="init" description="Zip all source code.">

		<!-- Copy & map Enum.java -->
		<copy toDir="${temp.folder}">
			<fileset dir="${project.folder}"
				includes="**/*.java,**/*.properties,.classpath,plugin.xml,**/MANIFEST.MF"/>
						
			<!-- Suppress tokens -->
			<filterset
	      		begintoken="/*"
	      		endtoken="*/">
		    		<filter
		      			token="@BEGIN@"
			      		value=""/>
		    		<filter
		      			token="@END@"
			      		value=""/>
			</filterset>
		</copy>

		<!-- Copy binaries -->
		<copy toDir="${temp.folder}">
			<fileset dir="${project.folder}"
				includes="**/*.gif"/>
		</copy>
				
		<!-- Zip file in temporary folder -->		
		<zip
			destfile="${project.folder}\logicSemanticEdit.zip"
			basedir="${temp.folder}"
			filesonly="false"
			whenempty="skip"
		/>

		<!-- Delete temporary folder -->		
		<delete dir="${temp.folder}"/>
		
	</target>
	
</project>