<?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="clean,setup,build,deploy,run,undeploy,restore"/>

    <target name="clean" depends="init-common">
        <antcall target="clean-common"/>
        <delete>
            <fileset dir="." includes="*.class"/>
        </delete>
        <delete dir="lib"/>
    </target>

    <target name="compile" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="servlet"/>
        </antcall>
    </target>

    <target name="setup" depends="init-common">
        <antcall target="create-user-common">
            <param name="user" value="${testuser}"/>
            <param name="password" value="${testpassword}"/>
            <param name="groups" value="${testgroup}"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <mkdir dir="lib"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>

        <copy file="${web-fragment.xml}"
            todir="${build.classes.dir}/META-INF"
            failonerror="false"/>
        <jar destfile="lib/fr.jar" basedir="${build.classes.dir}"
            excludes="**/*.jsp"/>
        <delete dir="${build.classes.dir}/wftest"/>

        <copy file="${web-fragment2.xml}"
            tofile="${build.classes.dir}/META-INF/web-fragment.xml"
            failonerror="false" overwrite="true"/>
        <jar destfile="lib/fr2.jar" basedir="${build.classes.dir}"
            excludes="**/*.jsp"/>
        <delete dir="${build.classes.dir}/META-INF"/>

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

    <target name="run" depends="init-common">
        <java classname="WebTest" fork="true">
          <arg value="${http.host}"/>
          <arg value="${http.port}"/>
          <arg value="${contextroot}"/>
          <arg value="${testuser}"/>
          <arg value="${testpassword}"/>
          <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="delete-user-common">
            <param name="user" value="${testuser}"/>
        </antcall>
    </target>

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