<?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-2" 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"/>
      <jar destfile="${build.classes.dir}/tmp/mylib.jar"
          basedir="${build.classes.dir}"
          includes="outsidepkg/**"/>
      <jar destfile="${build.classes.dir}/tmp/${appname}-ejb.jar"
          basedir="${build.classes.dir}"
          manifest="MANIFEST.MF"
          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 srcdir="." destdir="${build.classes.dir}/client"
            classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/j2ee.jar:${env.S1AS_HOME}/lib/webservices-rt.jar:${env.S1AS_HOME}/lib/webservices-tools.jar"
            includes="client/**"/>
    </target>

    <target name="deploy-ear">
      <antcall target="deploy-common"/>
    </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-2-test"/>
      </antcall>
    </target>
</project>

