<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2002, 2011 IBM Corporation and others.

    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        IBM Corporation - initial API and implementation
 -->

<project name="Build Team Sniff" basedir="." default="init">

  <property name="root" value="${basedir}/.."/>
  <property name="temp" value="${root}/__temp"/>
  <property name="plugins" value="${temp}/eclipse/plugins"/>

  <target name="init">
    <tstamp/>

    <delete dir="${temp}"/>
    <mkdir dir="${plugins}"/>

    <antcall target="buildPlugin">
      <param name="pluginName" value="org.eclipse.core.tests.harness" />
      <param name="jarName" value="testharness.jar" />
    </antcall>
    
    <antcall target="buildPlugin">
      <param name="pluginName" value="org.eclipse.team.tests.core" />
      <param name="jarName" value="teamtests.jar" />
    </antcall>

    <zip zipfile="${basedir}/teamSniff${DSTAMP}.zip"
       basedir="${temp}"
    />

    <delete dir="${temp}"/>
    <eclipse.refreshLocal resource="org.eclipse.team.tests.core"/>
  </target>

  <target name="buildPlugin">
    <copy todir="${plugins}/${pluginName}">
      <fileset dir="${root}/${pluginName}"/>
    </copy>
    <jar jarfile="${plugins}/${pluginName}/${jarName}"
         basedir="${plugins}/${pluginName}/bin"
    />
    <delete dir="${plugins}/${pluginName}/bin"/>
  </target>

</project>