<!--

    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.6 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>

    <javac
      srcdir="."
      classpath="${env.APS_HOME}/lib/reporter.jar"
      includes="client/WebTest.java" destdir="../" />


    <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="connector16" />
    </antcall>

      <antcall target="webclient-war-common">
      <param name="hasWebclient" value="yes"/>
          <param name="appname" value="connector16" />
          <param name="web.xml" value="META-INF/web.xml" />
          <param name="sun-web.xml" value="META-INF/sun-web.xml" />
          <param name="glassfish-resources.xml" value="META-INF/web-gf-resources.xml" />
      <param name="webclient.war.classes" value="servlet/*.class, beans/*.class"/>
      </antcall>


<!--
     <antcall target="war-common">
        <param name="war.classes" value="servlet/*.class, beans/*.class, connector/*.class, mdb/*.class" />
         <param name="appname" value="connector16" />
         <param name="web.xml" value="META-INF/web.xml" />
         <param name="sun-web.xml" value="META-INF/sun-web.xml" />
     </antcall>
-->



<!--
    <antcall target="appclient-jar-common">
        <param name="appname" value="connector16" />
        <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>
