<?xml version='1.0' encoding='ISO-8859-1' ?>
<!--

    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="imagecache" default="jar" basedir=".">
  <target name="compile">
    <javac srcdir="src" source="1.4" destdir="src" deprecation="${build.compiler.deprecation}" debug="true" verbose="false">
    </javac>
  </target>

  <target name="jar" depends="compile">
    <jar destfile="imagecache.jar"
            manifest="manifest.mf"
            basedir="src"
	    excludes="**/*.java,**/*.form"
	    compress="true">
    </jar>
  </target>

  <target name="clean">
    <delete>
      <fileset dir="src">
        <include name="**/*.class"/>
      </fileset>
    </delete>
    <delete file="imagecache.jar"/>
  </target>

</project>

