<?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 commonBuild SYSTEM "file:./../annotations-common.xml">
]>

<project name="Hello" default="core" basedir=".">

  &commonBuild;
  <property name="src-name" value="endpoint/HelloImpl.java"/>
  <property name="client-src-name" value="client/Client.java"/>

  <target name="all" depends="clean">
    <antcall target="test_build"/>
    <basename file="${src-name}" property="server" suffix=".java"/>
    <waitfor maxwait="100" maxwaitunit="second">
      <or>
        <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${server}.jar_deployed"/>
        <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${server}.jar_deployFailed"/>
      </or>
    </waitfor>
    <condition property="deploy_succeeded">
      <available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${server}.jar_deployed"/>
    </condition>

    <antcall target="run">
      <param name="port" value="endpoint.HelloImpl" />
    </antcall>
    <antcall target="undeploy"/>
    <antcall target="report"/>
  </target>

  <target name="test_build">
    <exec executable="${env.S1AS_HOME}/bin/wsimport">
      <arg line="-keep -d ${env.APS_HOME}/build/module/classes endpoint/wsdl/HelloImplService.wsdl" />
    </exec>
    <antcall target="build" />
  </target>

  <target name="report-success">
    <echo message="Test passed" />
  </target>

  <target name="report-failure">
    <echo message="Test failed"/>
  </target>

</project>
