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

    Copyright (c) 2010, 2021 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 testproperties SYSTEM "./build.properties">
]>

<project name="simple-ejb-cdi" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

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

        <target name="clean" depends="init-common">
                <antcall target="clean-common" />
                <delete file="client/Client.java" />
        </target>

        <target name="compile" depends="clean">
                <copy file="client/Client.java.token" tofile="client/Client.java" />
                <replace file="client/Client.java" token="@ORB_PORT@" value="${orb.port}" />

                <antcall target="compile-common">
                        <param name="src" value="ejb" />
                </antcall>
                <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="**/Sful*.class,**/Sless*.class, **/TestBean.class" />
                        <param name="appclientjar.classes" value="**/Client.class,**/Sful.class,**/Sless.class" />
                </antcall>
        </target>

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

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

        <target name="run_standaloneclient" depends="init-common">
                <java fork="on" failonerror="true"
                        classpath="${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
                        classname="${simple.client}">
                        <sysproperty key="org.omg.CORBA.ORBInitialPort" value="${orb.port}" />
                        <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
                </java>
        </target>

        <target name="run_standaloneclient2" depends="init-common">
                <java fork="on" failonerror="true"
                        classpath="${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
                        classname="${simple.client2}">
                        <jvmarg value="-Djava.naming.factory.initial=org.glassfish.jndi.cosnaming.CNCtxFactory" />
                        <jvmarg value="-Djava.naming.provider.url=iiop://localhost:${orb.port}" />
                        <jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}" />
                        <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
                </java>
        </target>

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

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