<?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 testproperties SYSTEM "./build.properties">
]>

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

    &commonSetup;
    &commonBuild;
    &testproperties;

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

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
      <delete>
        <fileset dir="." includes="*.class"/>
      </delete>
    </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="." includes="WebTest.java">
            <classpath>
                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
                <pathelement location="${env.APS_HOME}/lib/webtest.jar"/>
            </classpath>
        </javac>

    </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" depends="init-common">
        <java classname="WebTest" fork="true">
          <jvmarg value="-Djava.endorsed.dirs=${env.S1AS_HOME}/modules/endorsed"/>
          <sysproperty key="S1AS_HOME" value="${env.S1AS_HOME}"/>
          <arg value="${http.host}"/>
          <arg value="${https.port}"/>
          <arg value="${contextroot}"/>
          <classpath>
           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
           <pathelement location="${env.APS_HOME}/lib/webtest.jar"/>
           <pathelement location="${env.S1AS_HOME}/modules/nucleus-grizzly-all.jar"/>
           <pathelement location="${env.S1AS_HOME}/modules/glassfish-grizzly-extra-all.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>
