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

    Copyright (c) 2017, 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

-->

<!ENTITY commonBuild SYSTEM "./../../config/common.xml">
]>

<project name="overrideTest" default="usage" basedir=".">

    &commonBuild;

    <property name="testName" value="overrideTest"/>
    <property name="web.build.dir"
              value="${build}/${testName}.war"/>


    <target name="prepare" depends="init">
        <mkdir dir="${build}"/>
        <mkdir dir="${web.build.dir}"/>
        <mkdir dir="${web.build.dir}/WEB-INF/classes" />
    </target>

    <target name="compile" depends="prepare">
        <javac srcdir="."
               destdir="${build}"
               debug="on"
               failonerror="true">
           <classpath>
                <path refid="gfv3.classpath"/>
            </classpath>
        </javac>
    </target>

    <target name="assemble" depends="prepare">
        <copy file="${build}/override/OverrideTestServlet.class" todir="${web.build.dir}/WEB-INF/classes"/>
        <copy file="web.xml" todir="${web.build.dir}/WEB-INF"/>
        <copy file="glassfish-web.xml"
                  todir="${web.build.dir}/WEB-INF"
                  failonerror="false"/>
    </target>

    <target name="run.overridetest" depends="init">
<echo>${inst}</echo>
        <javaWithResult
            fork="true"
            failonerror="false"
            jvm="${JAVA}"
            classname="override.OverrideTest"
            output="${build}/${log.id}.output.log"
            resultproperty="result">
<!--
            <jvmarg value="-Xdebug"/>
            <jvmarg value="-Xrunjdwp:transport=dt_socket,address=6666,server=y,suspend=y"/>
-->
            <jvmarg value="-Dorg.omg.CORBA.ORBInitialHost=${http.host}"/>
            <jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
            <jvmarg value="-Dcom.sun.aas.installRoot=${inst}"/>
            <jvmarg value="-Dwriteout.xml=true"/>
            <jvmarg value="-Djakarta.enterprise.system.tools.deployment.org.glassfish.deployment.common=FINE"/>

            <classpath>
                <path refid="gfv3.classpath"/>
                <path location="${build}"/>
            </classpath>

            <arg line="${arg.list}"/>

        </javaWithResult>

        <antcall target="processResult">
            <param name="result" value="${result}"/>
            <param name="log" value="${build}/${log.id}.output.log"/>
        </antcall>
    </target>

    <target name="private-all" depends="prepare">
        <antcall target="compile"/>
        <antcall target="assemble"/>
        <antcall target="declare-test">
            <param name="description" value="dol/override Test"/>
        </antcall>
        <antcall target="run.overridetest">
            <param name="arg.list" value="${web.build.dir}"/>
            <param name="log.id" value="1"/>
        </antcall>
    </target>

    <target name="clobber" depends="clean">
        <delete dir="${build}"/>
    </target>

    <target name="usage">
        <antcall target="all"/>
    </target>

</project>
