<?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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "file:./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../../config/common.xml">
<!ENTITY commonRun SYSTEM "file:./../../../../config/run.xml">
<!ENTITY jaxwsTools SYSTEM "file:../../annotations/jaxwstools.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<project name="bigint" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &commonRun;
    &testproperties;
    &jaxwsTools;

    <target name="all" depends="clean, setup-ejb, assemble-client, runclient, undeploy" />

  <target name="clean" depends="init-common">
    <antcall target="clean-common" />
  </target>

  <target name="setup-ejb" depends="assemble-ejb, deploy-ejb-jar" />

  <target name="assemble-ejb">
    <antcall target="compile-common">
      <param name="src" value="endpoint" />
    </antcall>
    <mkdir dir="${assemble.dir}" />
    <mkdir dir="${build.classes.dir}/META-INF" />
    <copy file="persistence.xml" todir="${build.classes.dir}/META-INF" />
    <jar destfile="${assemble.dir}/${appname}-ejb.jar" basedir="${build.classes.dir}" includes="**">
    </jar>
  </target>

  <target name="assemble-client" depends="init-common">
    <mkdir dir="${build.classes.dir}/client" />
    <echo message="wsimporting http://${http.host}:${http.port}/CustomerManagerService/CustomerManager?WSDL"
    />
    <antcall target="wsimport">
      <param name="wsimport.args"
             value="-keep -d ${build.classes.dir}/client http://${http.host}:${http.port}/CustomerManagerService/CustomerManager?WSDL"
      />
    </antcall>
    <javac srcdir="."
           destdir="${build.classes.dir}/client"
           classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/modules/webservices-osgi.jar"
           includes="client/**"
    />
  </target>

  <target name="deploy-ejb-jar" depends="setToolProperty">
    <exec executable="${ASADMIN}" failonerror="true">
      <arg line="start-database" />
    </exec>
    <exec executable="${ASADMIN}" failonerror="true">
      <arg line="deploy" />
      <arg line="${as.props}" />
      <arg line="--upload=true" />
      <arg line="--dropandcreatetables" />
      <arg line="--target ${appserver.instance.name}" />
      <arg line="${assemble.dir}/${appname}-ejb.jar" />
    </exec>
  </target>

  <target name="undeploy" depends="init-common,setToolProperty">
    <exec executable="${ASADMIN}" failonerror="false">
      <arg line="undeploy" />
      <arg line="${as.props}" />
      <arg line="--droptables=true" />
      <arg line="--cascade=true" />
      <arg line="--target ${appserver.instance.name}" />
      <arg line="${appname}-ejb" />
    </exec>
    <exec executable="${ASADMIN}" failonerror="true">
      <arg line="stop-database" />
    </exec>
  </target>

  <target name="runclient">
    <antcall target="run-client">
      <param name="client-class" value="client.Client" />
      <param name="other-args" value="async-ejb-test" />
    </antcall>
  </target>
</project>

