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

	Copyright (c) 2021 Contributors to the Eclipse Foundation
    Copyright (c) 2010, 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="build,create-resources,deploy,run,undeploy,delete-resources" />

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

        <target name="compile" depends="clean">
        <!-- compile and create library jar -->
        <mkdir dir="tmp"/>
        <mkdir dir="tmp/META-INF"/>
        <javac srcdir="producer-library-jar" destdir="tmp" classpath="${s1astest.classpath}" debug="on" failonerror="true"/>
        <copy file="descriptor/beans.xml" todir="tmp/META-INF"/>

        <mkdir dir="lib"/>
        <jar jarfile="lib/producer-library.jar" update="true">
            <fileset dir="tmp" casesensitive="yes">
              <include name="**/*class*"/>
              <include name="META-INF/beans.xml"/> <!-- include a beans.xml in the library jar for it to be considered as a bean archive -->
            </fileset>
        </jar>
        <echo message="created library jar at lib/producer-library.jar"/>

                <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="client" classpath="${env.APS_HOME}/lib/reportbuilder.jar" includes="test/client/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="create-resources" depends="init-common">
        <antcall target="asadmin-batch-common">
          <param name="asadmin.file" value="create_resources.asadmin"/>
        </antcall>
    </target>

    <target name="delete-resources" depends="init-common">
        <antcall target="asadmin-batch-common">
          <param name="asadmin.file" value="delete_resources.asadmin"/>
        </antcall>
    </target>


        <target name="run" depends="init-common">
                <java classname="test.client.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="client" />
                        </classpath>
                </java>
        </target>

        <target name="undeploy" depends="init-common">
                <antcall target="undeploy-war-common" />
        <delete file="lib/producer-library.jar"/>
        </target>

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