<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

   - Neither the name of Sun Microsystems nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<!--
 Build file for the annotation processing tool, apt.
 - The basic functionality of the build is imported from make/build.xml.
 - Additional support for NetBeans actions is imported from 
   make/netbeans/common/shared.xml.
 - This file gives the final customizations.
 This tool is now deprecated, and any further development is strongly
 discouraged.
-->

<project name="apt" default="build" basedir="../../..">
    <property name="tool.name" value="apt"/>
    
    <import file="../common/shared.xml"/>
    
    <!-- 
      Alias the following imported targets, giving descriptions as appropriate.
      NetBeans will emphasize targets with descriptions in the Ant Targets list,
      and will display the targets in the context menu (under Run Target) for 
      this file in the Projects viewer. 
    -->
    
    <target name="build" depends="build-apt" description="Build the annotation processing tool, apt."/>
    
    <target name="debug" depends="-debug-nb" description="Debug the annotation processing tool, apt."/>
    
    <target name="-jtreg" depends="jtreg-apt"/>    
    <target name="jtreg" depends="-jtreg-nb" description="Run the jtreg tests for the annotation processing tool, apt."/>
    
</project>
