<?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 "file:./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../config/common.xml">
<!ENTITY testproperties SYSTEM "file:./build-ng.properties">
]>

<project name="webcontainer_unittest" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="build,deploy,run,report,undeploy"/>

    <path id="tng-compile.cp">
       <pathelement location="${env.APS_HOME}/lib/testng.jar"/>
    </path>

     <target name="tng-compile"
           description="compile the examples" depends="">
       <mkdir dir="${build.dir}"/>
       <javac   debug="true"
              fork="true"
              source="1.5"
              classpathref="tng-compile.cp"
              srcdir="test"
              destdir="${build.dir}"
       />
     </target>

   <path id="run.cp">
      <path refid="tng-compile.cp"/>
      <pathelement location="${build.dir}"/>
   </path>

   <target  name="run"
            description="run examples with java"
            depends="tng-compile">
      <java fork="yes"
            classpathref="run.cp"
            classname="org.testng.TestNG">
         <arg value="test/testng.xml"/>
         <jvmarg value="-ea"/>
      </java>
    </target>

    <target name="report">
        <mkdir dir="test-report"/>
        <junitreport todir="test-report">
           <fileset dir="test-output">
              <include name="*.xml"/>
           </fileset>
           <report format="noframes"  todir="test-report"/>
       </junitreport>
    </target>

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
      <delete dir="${build.dir}"/>
      <delete dir="test-output"/>
      <delete dir="test-report"/>
    </target>


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

    <target name="build" depends="compile">
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="yes"/>
            <param name="webclient.war.classes" value="**/*.class"/>
        </antcall>
    </target>

    <target name="deploy" depends="init-common">
        <antcall target="deploy-war-common"/>
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-war-common"/>
    </target>

</project>
