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

    Copyright (c) 2012, 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"/>
<!--
        <copy file="descriptor/context.xml" todir="${env.S1AS_HOME}/domains/domain1/config"
              failonerror="true"/>
        <copy file="lib/test.jar" todir="${env.S1AS_HOME}/domains/domain1/lib"
              failonerror="true"/>
        <copy file="lib/test.jar" todir="${env.S1AS_HOME}/lib"
              failonerror="true"/>
-->
    </target>

    <target name="setup" depends="init-common">
        <antcall target="copyResources"/>
        <antcall target="restart-server-instance-common"/>
    </target>

    <target name="copyResources" depends="init-common">
        <copy file="descriptor/context.xml" todir="${env.S1AS_HOME}/domains/domain1/config"
              failonerror="true"/>
        <copy todir="${env.S1AS_HOME}/lib" failonerror="true">
            <fileset dir="lib" includes="*.jar"/>
        </copy>
    </target>

    <target name="restore" depends="init-common">
        <antcall target="removeResources"/>
        <antcall target="restart-server-instance-common"/>
    </target>

    <target name="removeResources" depends="init-common">
        <delete failonerror="true">
            <fileset dir="${env.S1AS_HOME}/lib"
                     includes="test.jar"/>
        </delete>
        <delete file="${env.S1AS_HOME}/domains/domain1/config/context.xml"/>
    </target>

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

    <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="usage">
        <antcall target="usage-common"/>
    </target>

</project>
