<?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="libdependent" 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   -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-libdependent-test" />
    </antcall>
  </target>
</project>

