<?xml version="1.0"?>
<!--
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution.  The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-->
<project name="PackageEditor" default="all" basedir=".">
  <taskdef resource="net/sf/antcontrib/antlib.xml"/>
  <property environment="env"/>
  <property name="WORKSPACE" value="${env.WORKSPACE}"/>
  <path id="classpath">
    <fileset dir="${WORKSPACE}/Tools/Jars" includes="*.jar"/>
    <fileset dir="${env.XMLBEANS_HOME}/lib" includes="*.jar"/>
  </path>
  <property name="buildDir" value="build"/>
  <property name="installLocation" value="${WORKSPACE}/Tools/bin"/>
  <target name="all" depends="install"/>
  <target name="source">
    <mkdir dir="${buildDir}"/>
    <javac srcdir="src" destdir="${buildDir}">
      <classpath refid="classpath"/>
      <!-- <compilerarg value="-Xlint"/> -->
    </javac>
  </target>
  <target name="clean">
    <delete dir="${buildDir}"/>
  </target>
  <target name="cleanall">
    <delete dir="${buildDir}"/>
    <delete file="${installLocation}/PackageEditor.jar"/>
  </target>
  <target name="install" depends="source">
    <jar destfile="${installLocation}/PackageEditor.jar"
      basedir="${buildDir}"
      includes="**"
      manifest="MANIFEST.MF"
    />
  </target>
</project>
