<?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}" />
		</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}" />

		</java>
	</target>

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

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