<?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="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="deploy" depends="init-common">
      <antcall target="deploy-war-libraries"/>
    </target>

    <target name="run" depends="init-common">
        <java classname="WebTest">
            <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="usage">
        <antcall target="usage-common"/>
    </target>

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

    <target name="copyJarToApplibs" depends="init-common">
        <copy file="myclasses.jar"
            todir="${env.S1AS_HOME}/domains/${admin.domain}/lib/applibs"
            failonerror="true"/>
    </target>

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

    <target name="removeJarFromApplibs" depends="init-common">
        <delete file="${env.S1AS_HOME}/domains/${admin.domain}/lib/applibs/myclasses.jar"/>
    </target>

</project>
