<?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-two-module-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}-ejb1.jar"
             basedir="${build.classes.dir}"
             update="true"
             includes ="**/Simple*.class">
             <metainf dir="descriptor">
                  <include name="ejb-jar.xml"/>
                  <include name="persistence.xml"/>
             </metainf>
        </jar>
        <jar jarfile="${assemble.dir}/${appname}-ejb2.jar"
             basedir="${build.classes.dir}"
             update="true"
             includes ="**/SingletonBean.class">
        </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}-ejb1.jar:${assemble.dir}/${appname}-ejb2.jar:${embedded.classpath}:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <arg line="${appname}"/>
        </java>
    </target>

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