<?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 run SYSTEM "./../../../config/run.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

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

    &commonSetup;
    &commonBuild;
    &testproperties;
    &run;

    <target name="all" depends="setup,build,deploy,run,undeploy,restore"/>

    <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="WebTest.java"/>
    </target>

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

    <target name="setup" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.auth-pass-through-enabled=true"/>
        </antcall>
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.server-name=https://lbhost:8888"/>
        </antcall>
    </target>

    <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" depends="init-common">
        <java classname="WebTest" fork="true">
          <arg value="${http.host}"/>
          <arg value="${http.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="restore" depends="init-common">
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.auth-pass-through-enabled="/>
        </antcall>
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="set" />
            <param name="operand.props"
                   value="configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.server-name="/>
        </antcall>
    </target>

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