<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

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

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "file:./../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../config/common.xml">
<!ENTITY reporting   SYSTEM "file:./report.xml">
]>

<project name="webservice" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &reporting;

    <target name="all">
        <delete file="${env.APS_HOME}/test_results.html"/>
        <delete file="${env.APS_HOME}/test_resultsValid.xml"/>
        <delete file="${env.APS_HOME}/test_results.xml"/>
        <delete dir="${env.APS_HOME}/build/module"/>
        <record name="webservice.output" action="start" />
        <delete dir="${env.APS_HOME}/build/module"/>
        <ant dir="filter_urlhandling" target="all"/>
        <!--ant dir="security" target="all"/-->
        <ant dir="annotations" target="all"/>
        <ant dir="ejb_annotations" target="all"/>
        <ant dir="gf_dd/endpoint_address_uri" target="all"/>
        <record name="webservice.output" action="stop" />
        <antcall target="report"/>
        <antcall target="dev-report"/>
    </target>

    <target name="clean">
        <delete>
            <fileset dir="${basedir}" includes="**.output, count.txt"/>
        </delete>
        <ant dir="google" target="clean"/>
        <ant dir="xsdany" target="clean"/>
        <ant dir="mapping/j2w/signature" target="clean"/>
        <ant dir="webstub_properties" target="clean"/>
        <ant dir="filter_urlhandling" target="clean"/>
     </target>

    <target name="usage">
        <echo>
                Usage:
                        ant all (Executes all the webservice tests)

                        ant google (Executes the google tests)
                        ant xsdany (Executes the xsdany tests)
        </echo>
    </target>

</project>
