<?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="jaxrpc-hello-ejb" target="all"/>
        <delete dir="${env.APS_HOME}/build/module"/>
        <ant dir="jaxrpc-hello-web" target="all"/>
<!--	<ant dir="googleserver" target="all"/>--> <!-- 3 tests -->
        <ant dir="xsdany" target="all"/> <!-- 1 test -->
        <ant dir="filter_urlhandling" target="all"/> <!-- 1 test -->
    <!--    <ant dir="security" target="all"/>-->         <!-- 9 test -->
<!--	<ant dir="simplefault" target="all"/>
	<ant dir="handler" target="all"/> 
        <ant dir="webstub_properties" target="all"/> 
	<ant dir="servlethandler" target="all"/>--> 
	<ant dir="annotations" target="all"/>
	<ant dir="ejb_annotations" target="all"/>
        <ant dir="mapping/j2w/signature" target="all"/> <!-- 2 tests -->
        <ant dir="google" target="all"/> <!-- 1 test -->
        <ant dir="gf_dd/endpoint_address_uri" target="all"/> <!-- 1 test -->
        <record name="webservice.output" action="stop" />
        <antcall target="report"/>
        <antcall target="dev-report"/>
    </target>

    <target name="google">
        <record name="google.output" action="start" />
            <ant dir="google" target="all"/>
        <record name="google.output" action="stop" />
        <antcall target="report"/>
    </target>

    <target name="xsdany">
        <record name="xsdany.output" action="start" />
            <ant dir="xsdany" target="all"/>
        <record name="xsdany.output" action="stop" />
        <antcall target="report"/>
    </target>

    <target name="soapfaults">
        <record name="soapfaults.output" action="start" />
            <ant dir="soapfaults" target="all"/>
        <record name="soapfaults.output" action="stop" />
        <antcall target="report"/>
    </target>

    <target name="signature">
        <record name="signature.output" action="start" />
            <ant dir="mapping/j2w/signature" target="all"/>
        <record name="signature.output" action="stop" />
        <antcall target="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>
