<?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="GenBuild" default="GenBuild" 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="SurfaceArea.jar"/>
    <fileset dir="${WORKSPACE}/Tools/Jars" includes="Common.jar"/>
    <fileset dir="${WORKSPACE}/Tools/Jars" includes="PcdTools.jar"/>
    <fileset dir="${env.XMLBEANS_HOME}/lib" includes="*.jar"/>
  </path>
  <property name="buildDir" value="build"/>
  <property name="installLocation" value="${WORKSPACE}/Tools/Jars"/>
  <target name="GenBuild" depends="install"/>
  <target name="source">
    <mkdir dir="${buildDir}"/>
    <javac srcdir="." 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/GenBuild" includes="${buildDir}"/>
    </delete>
  </target>
  <target name="cleanall" depends="clean">
    <echo message="Removing Class Files and the Java Archive: GenBuild.jar"/>
    <delete file="${installLocation}/GenBuild.jar"/>
    <if>
      <available file="${installLocation}/GenBuild.jar"/>
      <then>
        <echo message="You must manually remove the file: ${installLocation}/GenBuild.jar"/>
        <echo message="Java has already loaded the file, and cannot remove it within ANT!"/>
      </then>
    </if>
  </target>
  <target name="install" depends="source">
    <copy file="GenBuild.tasks" toDir="${buildDir}"/>
    <jar destfile="${installLocation}/GenBuild.jar"
      basedir="${buildDir}"
      includes="**"
    />
  </target>
</project>
