<?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="all" 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="all" 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}">
      <classpath>
        <fileset dir="${workspace}/Tools/Jars">
          <include name="*.jar"/>
        </fileset>
      </classpath>
    </javac>
  </target>
  <target name="clean">
    <delete dir="${buildDir}"/>
  </target>
  <target name="cleanall">
    <delete dir="${buildDir}"/>
    <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>
