<?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="CppTasks" default="CppTasks" basedir=".">
  <taskdef resource="net/sf/antcontrib/antlib.xml"/>
  <property environment="env"/>
  <property name="WORKSPACE" value="${env.WORKSPACE}"/>
  <property name="buildDir" value="build"/>
  <property name="installLocation" value="${WORKSPACE}/Tools/Jars"/>
  <target name="CppTasks" depends="install"/>
  <target name="init">
    <uptodate property="jar.newer" targetfile="${installLocation}/cpptasks.jar">
      <srcfiles dir="net" includes="**"/>
    </uptodate>
  </target>
  <target name="source" depends="init" unless="jar.newer">
    <mkdir dir="${buildDir}"/>
    <javac srcdir="net" destdir="${buildDir}" source="1.4">
      <classpath>
        <fileset dir="${WORKSPACE}/Tools/Jars">
          <include name="*.jar"/>
        </fileset>
      </classpath>
    </javac>
  </target>
  <target name="clean">
    <delete includeemptydirs="true" failonerror="false" quiet="true">
      <fileset dir="${WORKSPACE}/Tools/Java/Source/Cpptasks" includes="${buildDir}"/>
    </delete>
  </target>
  <target name="cleanall" depends="clean">
    <echo message="Removing Class Files and the Java Archive: cpptasks.jar"/>
    <delete file="${installLocation}/cpptasks.jar"/>
    <if>
      <available file="${installLocation}/cpptasks.jar"/>
      <then>
        <echo message="You must manually remove the file: ${installLocation}/cpptasks.jar"/>
        <echo message="Java has already loaded the file, and cannot remove it within ANT!"/>
      </then>
    </if>
  </target>
  <target name="install" depends="source" unless="jar.newer">
    <copy file="cpptasks.tasks" toDir="${buildDir}"/>
    <copy file="cpptasks.types" toDir="${buildDir}"/>
    <jar destfile="${installLocation}/cpptasks.jar"
      basedir="${buildDir}"
      includes="**"
    />
  </target>
</project>
