<?xml version="1.0"?>

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<project name="spell.checker.example" default="package" basedir=".">
	
	<target name="clean">
		<ant dir="spell.services" target="clean"/>
		<ant dir="spell.english" target="clean"/>
		<ant dir="spell.checker" target="clean"/>
		<ant dir="spell.checker.gui" target="clean"/>
		<ant dir="solution" target="clean"/>
		<delete dir="felix-framework-${felix.version}/felix-cache"/>
		<delete dir="dist"/>
	</target>
	
	<target name="package">
		<ant dir="spell.services" target="package"/>
		<ant dir="spell.english" target="package"/>
		<ant dir="spell.checker" target="package"/>
		<ant dir="spell.checker.gui" target="package"/>
		<ant dir="solution" target="package"/>	
	</target>
	
	<target name="dist" depends="clean">
		<mkdir dir="dist"/>
		<zip destfile="dist/tutorial.zip">
			<fileset dir=".">
				<exclude name="build.xml"/>
				<exclude name="dist"/>
				<exclude name=".*"/>
				<exclude name="*/_*"/>
			</fileset>	
		</zip>
	</target>

</project>
