<?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="singleton" 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-ear" />

  <target name="assemble-ejb">
    <antcall target="compile-common">
      <param name="src" value="outsidepkg" />
    </antcall>
    <antcall target="compile-common">
      <param name="src" value="endpoint" />
    </antcall>
    <mkdir dir="${assemble.dir}" />
    <mkdir dir="${build.classes.dir}/tmp" />
    <mkdir dir="${build.classes.dir}/tmp/lib" />
    <jar destfile="${build.classes.dir}/tmp/lib/mylib.jar"
         basedir="${build.classes.dir}"
         includes="outsidepkg/**"
    />
    <jar destfile="${build.classes.dir}/tmp/${appname}-ejb.jar"
         basedir="${build.classes.dir}"
         includes="endpoint/**"
    />
    <jar destfile="${assemble.dir}/${appname}App.ear"
         basedir="${build.classes.dir}/tmp"
         includes="**"
    />
  </target>

  <target name="assemble-client" depends="init-common">
    <mkdir dir="${build.classes.dir}/client" />
    <echo message="wsimporting http://${http.host}:${http.port}/HelloImplService/HelloImpl?WSDL" />
    <antcall target="wsimport">
      <param name="wsimport.args"
             value="-keep  -Xendorsed -d ${build.classes.dir}/client http://${http.host}:${http.port}/HelloImplService/HelloImpl?WSDL"
      />
    </antcall>
    <javac verbose="true"
           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:${env.S1AS_HOME}/modules/jaxb-osgi.jar:${env.S1AS_HOME}/modules/jaxb-api-osgi.jar"
           includes="client/**"
    />
  </target>

  <target name="deploy-ear">
    <antcall target="deploy-common" />
  </target>

  <target name="restart-test">
    <antcall target="restart-server-instance-common" />
    <antcall target="runclient" />
  </target>

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

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

