<!--

    Copyright (c) 2002, 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

-->

<!DOCTYPE project [
  <!ENTITY common SYSTEM "../../../../../config/common.xml">
  <!ENTITY testcommon SYSTEM "../../../../../config/properties.xml">
]>

<project name="connector1.5 MDB" default="all" basedir=".">

  <property name="j2ee.home" value="../../../.."/>

  <!-- include common.xml and testcommon.xml -->
  &common;
  &testcommon;

  <target name="all" depends="init-common">
   <antcall target="compile-common">
        <param name="src" value="." />
        <param name="s1astest.classpath" value="${s1astest.classpath}:../../ra/src/classes" />
    </antcall>

    <antcall target="ejb-jar-common">
        <param name="ejb-jar.xml" value="META-INF/ejb-jar.xml" />
        <param name="ejbjar.classes" value="mdb/*.class, beans/*.class, connector/*.class" />
        <param name="sun-ejb-jar.xml" value="META-INF/sun-ejb-jar.xml" />
        <param name="glassfish-resources.xml" value="META-INF/ejb-gf-resources.xml" />
        <param name="appname" value="simplemdb" />
    </antcall>

    <antcall target="appclient-jar-common">
        <param name="appname" value="simplemdb" />
        <param name="application-client.xml" value="META-INF/application-client.xml" />
        <param name="appclientjar.classes" value="mdb/*.class, beans/*.class, connector/*.class, client/Client.class" />
        <param name="sun-application-client.xml" value="META-INF/sun-application-client.xml" />
    </antcall>
<!--
    <jar jarfile="../ejb.jar" basedir="classes"
         includes="mdb/*.class, beans/*.class, connector/*.class" >
                <metainf dir="META-INF">
                        <include name="ejb-jar.xml"/>
                        <include name="sun-ejb-jar.xml"/>
                </metainf>
    </jar>
-->
  </target>

  <target name="clean">
    <antcall target="clean-classes-common">
        <param name="build.classes.dir" value="classes" />
    </antcall>
  </target>
</project>
