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

    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="build,deploy,runfirst,redeploy,runsecond,redeploy2,runthird,undeploy"/>

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
      <delete file="WebTest.class" failonerror="false"/>
      <delete file="RepRunConf.txt" failonerror="false"/>
      <delete file="JSESSIONID" failonerror="false"/>
    </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="deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>

    <target name="redeploy" depends="init-common">
        <echo message="Redeploying ${assemble.dir}/${appname}-web.war from ${basedir}."
              level="verbose"/>
        <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="redeploy"/>
            <param name="operand.props" value="--name=${appname}-web ${assemble.dir}/${appname}-web.war"/>
        </antcall>
    </target>
    
    <target name="redeploy2" depends="init-common">
        <echo message="Redeploying with keepState=false ${assemble.dir}/${appname}-web.war from ${basedir}."
              level="verbose"/>
                <antcall target="asadmin-common-ignore-fail">
            <param name="admin.command" value="redeploy"/>
            <param name="operand.props" value="--keepstate=false --name=${appname}-web ${assemble.dir}/${appname}-web.war"/>
        </antcall>
    </target>

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

    <target name="runsecond" depends="init-common">
        <java classname="WebTest">
          <arg value="${http.host}"/>
          <arg value="${http.port}"/>
          <arg value="${contextroot}"/>
          <arg value="second"/>
          <classpath>
           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
           <pathelement location="."/>
         </classpath>
        </java>
    </target>
 
    <target name="runthird" depends="init-common">
        <java classname="WebTest">
          <arg value="${http.host}"/>
          <arg value="${http.port}"/>
          <arg value="${contextroot}"/>
          <arg value="third"/>
          <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>
