<?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="Merge" default="Merge" 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="Merge" 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 includeemptydirs="true" failonerror="false" quiet="true">
      <fileset dir="${WORKSPACE}/Tools/Java/Source/Merge" includes="${buildDir}"/>
    </delete>
  </target>
  <target name="cleanall" depends="clean">
    <echo message="Removing Class Files and the Java Archive: Merge.jar"/>
    <delete file="${installLocation}/Merge.jar"/>
  </target>
  <target name="install" depends="source">
    <jar destfile="${installLocation}/Merge.jar">
      <fileset dir="${buildDir}"/>
    </jar>
  </target>
</project>
