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

    Copyright (c) 2017, 2022 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 commonSetup SYSTEM "../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "../../../config/common.xml">
<!ENTITY testproperties SYSTEM "build.properties">
]>

<project name="jms-default-connection-factory-ejbApp" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="clean,build,create-resources,deploy,run,undeploy,delete-resources"/>

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

    <target name="compile" depends="clean">
        <mkdir dir="${build.classes.dir}"/>
        <echo message="common.xml: Compiling test source files" level="verbose"/>
        <javac srcdir="ejb"
            destdir="${build.classes.dir}"
            classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar"
            debug="on"
            includeantruntime="false"
            failonerror="true">
        </javac>
        <antcall target="compile-common">
            <param name="src" value="client"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <antcall target="build-ear-common">
            <param name="ejbjar.classes"
              value="**/SessionBeanDefault*.class" />
            <param name="appclientjar.classes"
              value="**/*Client.class,**/SessionBeanDefault*.class" />
        </antcall>
    </target>

    <target name="deploy"
            depends="init-common">
        <antcall target="deploy-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 fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${assemble.dir}/${appname}-client.jar:${env.APS_HOME}/lib/reporter.jar"
              classname="org.glassfish.test.jms.defaultcf.client.Client">
            <sysproperty key="org.omg.CORBA.ORBInitialPort" value="${orb.port}"/>
        </java>
    </target>

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

    <target name="usage">
        <antcall target="usage-common"/>
        <echo>
          ant all to test jms default connection factory
        </echo>
    </target>
</project>
