<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<project name="java/libs.javacapi" default="build" basedir=".">
    <import file="../../nbbuild/templates/projectized.xml"/>
    <target name="-check-nb-javac-exists">
        <available property="nb-javac.exists" file="../nb-javac/make/netbeans/nb-javac/build.xml"/>
    </target>
    <target name="-release.files-build-javac" if="nb-javac.exists">
        <ant dir="../nb-javac/make/netbeans/nb-javac" target="jar" inheritAll="false"/>
        <copy file="../nb-javac/make/netbeans/nb-javac/dist/javac-api.jar" tofile="external/nb-javac-api.jar" overwrite="true"/>
    </target>
    <target name="-release.files-delegate" unless="nb-javac.exists">
        <antcall target="projectized.-release.files" />
    </target>
    <target name="-release.files" depends="-check-nb-javac-exists,-release.files-build-javac,-release.files-delegate" />
    <target name="clean" depends="projectized.clean">
        <delete failonerror="false">
            <fileset dir="external">
                <include name="*.jar"/>
            </fileset>
        </delete>
    </target>
</project>
