<?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 commonSetup SYSTEM "../../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "../../../../../config/common.xml">
<!ENTITY embeddedCommon SYSTEM "../embedded.xml">
<!ENTITY testproperties SYSTEM "build.properties">
]>

<project name="ejb-ejb31-embedded-testclose-App" default="usage" basedir=".">

    &embeddedCommon;
    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="start-database,build,run,stop-database"/>

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

    <target name="compile" depends="clean">
        <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">
        <!-- package ourselves to include persistence.xml -->
        <mkdir dir="${assemble.dir}"/>
        <jar jarfile="${assemble.dir}/${appname}-ejb.jar"
             basedir="${build.classes.dir}"
             update="true"
             includes ="**/S*.class">
             <metainf dir="descriptor">
                  <include name="persistence.xml"/>
             </metainf>
        </jar>
        <delete dir="${build.classes.dir}/org"/>
    </target>

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

    <target name="run_se" depends="init-common">
       <echo message="Running with ${embedded.classpath} in classpath"/>
       <java  fork="on"
              failonerror="true"
              classpath="${assemble.dir}/${appname}-ejb.jar:${embedded.classpath}:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
           <jvmarg value="--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED" />
           <arg line="${jndiroot}"/>
        </java>
    </target>

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