<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE project [
<!--

    Copyright (c) 2017, 2020 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 testproperties SYSTEM "./build.properties">
<!ENTITY run SYSTEM "./../../../config/run.xml">
<!ENTITY jdbcCommon SYSTEM "./../JdbcCommon.xml">
<!ENTITY jdbcProperties SYSTEM "./../JdbcCommon.properties">
]>

<project name="mix" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &run;
    &jdbcCommon;
    &jdbcProperties;
    &testproperties;

    <target name="all" depends="build,deploy,run,undeploy"/>

    <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">
      <antcall target="build-ear-common">
        <param name="ejbjar.classes"
          value="**/*.class" />
        <param name="appclientjar.classes"
            value="**/SimpleBMP.class, **/SimpleBMPHome.class,**/*Client*.class,**/JmsAuthHome.class,**/JmsAuth.class" />
      </antcall>
    </target>

    <target name="deploy" depends="init-common">
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/create_pointbase.sql"/>
      </antcall>
      <antcall target="deploy-jdbc-common"/>
      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="ql-jdbc-pool"/>
        <param name="jdbc.resource.name" value="jdbc/s1qeDB_CM"/>
      </antcall>
      <antcall target="deploy-jms-stuff"/>
      <antcall target="deploy-common"/>
    </target>

    <target name="run" depends="init-common">
        <antcall target="setup-derby-for-authentication"/>
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/create_pointbase.sql"/>
      </antcall>
      <antcall target="runclient-common"/>
        <antcall target="reset-derby-for-no-authentication"/>
    </target>

    <target name="undeploy" depends="init-common">
      <antcall target="execute-sql-common">
        <param name="sql.file" value="sql/drop_pointbase.sql"/>
      </antcall>

      <antcall target="delete-jdbc-resource-common">
        <param name="jdbc.resource.name" value="jdbc/s1qeDB_CM"/>
      </antcall>
      <antcall target="undeploy-jdbc-common"/>
      <antcall target="undeploy-jms-stuff"/>
      <antcall target="undeploy-common"/>
    </target>

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

    <target name="deploy-jms-stuff" depends="init-common">
      <!--
      <antcall target="asadmin-batch-common">
        <param name="asadmin.file" value="create_resources_asadmin.jms"/>
      </antcall>
      -->
      <antcall target="create-jms-connection-common">
        <param name="jms.factory.type" value="jakarta.jms.QueueConnectionFactory"/>
        <param name="jms.factory.name" value="jms/jdbcjmsauth_QCF1"/>
      </antcall>

      <antcall target="create-jms-connection-common">
        <param name="jms.factory.type" value="jakarta.jms.QueueConnectionFactory"/>
        <param name="jms.factory.name" value="jms/jdbcjmsauth_QCF2"/>
      </antcall>
    </target>

    <target name="undeploy-jms-stuff" depends="init-common">
      <!--
      <antcall target="asadmin-batch-common">
        <param name="asadmin.file" value="delete_resources_asadmin.jms"/>
      </antcall>
      -->
      <antcall target="delete-jms-connection-common">
        <param name="jms.factory.name" value="jms/jdbcjmsauth_QCF1"/>
      </antcall>
      <antcall target="delete-jms-connection-common">
        <param name="jms.factory.name" value="jms/jdbcjmsauth_QCF2"/>
      </antcall>
    </target>

</project>
