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

    <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="build" depends="compile">
        <mkdir dir="lib"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>

        <jar destfile="lib/fr.jar" basedir="${build.classes.dir}"
            includes="**/wftest/*.class"/>
        <delete dir="${build.classes.dir}/wftest"/>

        <copy file="${web-fragment.xml}"
            todir="${build.classes.dir}/META-INF"
            failonerror="false"/>
        <jar destfile="lib/fr2.jar" basedir="${build.classes.dir}"
            includes="**/wftest2/*.class,META-INF/*"/>
        <delete dir="${build.classes.dir}/wftest2"/>

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

        <copy file="${web-fragment3.xml}"
            tofile="${build.classes.dir}/META-INF/web-fragment.xml"
            failonerror="false" overwrite="true"/>
        <jar destfile="lib/fr4.jar" basedir="${build.classes.dir}"
            includes="**/wftest4/*.class,META-INF/*"/>
        <delete dir="${build.classes.dir}/wftest4"/>

        <copy file="${web-fragment4.xml}"
            tofile="${build.classes.dir}/META-INF/web-fragment.xml"
            failonerror="false" overwrite="true"/>
        <jar destfile="lib/fr5.jar" basedir="${build.classes.dir}"
            includes="**/wftest5/*.class,META-INF/*"/>
        <delete dir="${build.classes.dir}/wftest5"/>

        <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="**/TestServlet.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">
          <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>
