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

    Copyright (c) 2021 Contributors to the Eclipse Foundation
    Copyright (c) 1997, 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 "./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

<project name="webcontainer_unittest" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="create-network-listener,build,deploy,run,delete-network-listener,run-again,undeploy"/>

    <target name="create-network-listener" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="create-network-listener" />
        <param name="operand.props"
               value="--listenerport ${http.alternate.port} --protocol http-listener-1 network-listener-1"/>
      </antcall>
    </target>

    <target name="delete-network-listener" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="delete-network-listener" />
        <param name="operand.props"
               value="network-listener-1"/>
      </antcall>
    </target>

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
    </target>

    <target name="compile" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="servlet"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <property name="hasWebclient" value="yes"/>
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="yes"/>
            <param name="webclient.war.classes" value="**/*.class"/>
        </antcall>

         <javac
            srcdir="."
            classpath="${env.APS_HOME}/lib/reportbuilder.jar"
            includes="*.java"/>

    </target>

    <target name="build-publish-war" depends="build, publish-war-common" />

    <target name="re-deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>

    <target name="deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>

    <target name="run-again" depends="init-common">
        <java classname="WebTest" fork="true">
          <arg value="${http.host}"/>
          <arg value="${http.alternate.port}"/>
          <arg value="${contextroot}"/>
          <classpath>
           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
           <pathelement location="."/>
         </classpath>
        </java>
    </target>

    <target name="run" depends="init-common">
        <java classname="WebTest2" fork="true">
          <arg value="${http.host}"/>
          <arg value="${http.alternate.port}"/>
          <arg value="${contextroot}"/>
          <classpath>
           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
           <pathelement location="."/>
         </classpath>
        </java>
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-war-common"/>
    </target>

    <target name="usage">
        <antcall target="usage-common"/>
    </target>
</project>
