<?xml version="1.0"?>
<!--

    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

-->

<project name="jdbc_connector" basedir="${gjc.home}" default="build">
  <property name="pkg.dir" value="com/sun/gjc/spi"/>

  <target name="clean">
    <ant antfile="build.xml" dir="${gjc.home}/bin" target="clean"/>
  </target>

  <target name="compile14">
    <ant antfile="build.xml" dir="${gjc.home}/bin" target="compile14"/>
  </target>

  <target name="package14">

            <mkdir dir="${gjc.home}/dist/spi/1.5"/>

        <jar jarfile="${gjc.home}/dist/spi/1.5/jdbc.jar" basedir="${class.dir}"
        includes="${pkg.dir}/**/*, com/sun/gjc/util/**/*, com/sun/gjc/common/**/*" excludes="com/sun/gjc/cci/**/*,com/sun/gjc/spi/1.4/**/*"/>

        <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-cp.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
        </copy>
           <jar jarfile="${gjc.home}/dist/spi/1.5/__cp.rar" update="yes">
                   <metainf dir="${gjc.home}/dist/spi/1.5">
                           <include name="ra.xml"/>
                   </metainf>
           </jar>

           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-xa.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
        </copy>
           <jar jarfile="${gjc.home}/dist/spi/1.5/__xa.rar" update="yes">
                   <metainf dir="${gjc.home}/dist/spi/1.5">
                           <include name="ra.xml"/>
                   </metainf>
           </jar>

           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-dm.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
        </copy>
           <jar jarfile="${gjc.home}/dist/spi/1.5/__dm.rar" update="yes">
                   <metainf dir="${gjc.home}/dist/spi/1.5">
                           <include name="ra.xml"/>
                   </metainf>
           </jar>

           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" basedir="${gjc.home}/dist/spi/1.5" includes="jdbc.jar"/>
        <copy file="${gjc.home}/src/com/sun/gjc/spi/1.4/ra-ds.xml" tofile="${gjc.home}/dist/spi/1.5/ra.xml" overwrite="yes">
        </copy>
           <jar jarfile="${gjc.home}/dist/spi/1.5/__ds.rar" update="yes">
                   <metainf dir="${gjc.home}/dist/spi/1.5">
                           <include name="ra.xml"/>
                   </metainf>
           </jar>

           <delete dir="${gjc.home}/dist/com"/>
           <delete file="${gjc.home}/dist/spi/1.5/jdbc.jar"/>
           <delete file="${gjc.home}/dist/spi/1.5/ra.xml"/>

  </target>

  <target name="build14" depends="compile14, package14"/>
    <target name="build13"/>
        <target name="build" depends="build14, build13"/>
</project>
