blob: 658780c3619a69051eecb7b79f4dedc7769c7e66 [file] [log] [blame]
<!--
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
-->
<property environment="env"/>
<property file="${env.APS_HOME}/config.properties"/>
<target name="all" depends="clean, compile, run, undeploy, report"/>
<target name="clean">
<delete dir="${env.APS_HOME}/build/module/classes"/>
</target>
<path id="classpath">
<fileset dir="${env.S1AS_HOME}/modules">
<include name="*.jar"/>
</fileset>
<fileset dir="${env.APS_HOME}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="compile">
<mkdir dir="${env.APS_HOME}/build/module/classes"/>
<basename file="${src-name}" property="server" suffix=".java"/>
<dirname file="${src-name}" property="directory"/>
<basename file="${directory}" property="pkg-name"/>
<property name="class-name" value="${pkg-name}/${server}.class"/>
<echo message="Compiling into ${pkg-name}/${server}.class"/>
<javac srcdir="." destdir="${env.S1AS_HOME}/domains/domain1/autodeploy"
includes="${src-name}">
<classpath refid="classpath"/>
</javac>
</target>
<target name="compile-client">
<javac srcdir="." destdir="${env.APS_HOME}/build/module/classes"
classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/modules/webservices-osgi.jar:${build.classes.dir}/client"
includes="${client-src-name}"/>
</target>
<target name="deploy">
<antcall target="compile"/>
</target>
<target name="undeploy">
<basename file="${src-name}" property="server" suffix=".java"/>
<dirname file="${src-name}" property="directory"/>
<basename file="${directory}" property="pkg-name"/>
<property name="class-name" value="${pkg-name}/${server}.class"/>
<echo message="Removing file ${class-name} from autodeploy directory"/>
<delete file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}"/>
<waitfor maxwait="100" maxwaitunit="second">
<or>
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_undeployed"/>
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_undeployFailed"/>
</or>
</waitfor>
<condition property="undeploy_succeeded">
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_undeployed"/>
</condition>
<condition property="undeploy_failed">
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_undeployFailed"/>
</condition>
</target>
<target name="report" depends="internal-report-success, internal-report-failure">
<delete file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_*"/>
</target>
<target name="run">
<waitfor maxwait="100" maxwaitunit="second">
<or>
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_deployed"/>
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_deployFailed"/>
</or>
</waitfor>
<condition property="deploy_succeeded">
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_deployed"/>
</condition>
<condition property="deploy_failed">
<available file="${env.S1AS_HOME}/domains/domain1/autodeploy/${class-name}_deployFailed"/>
</condition>
<antcall target="internal-run"/>
<antcall target="internal-report-failure"/>
</target>
<target name="internal-run" if="deploy_succeeded">
<basename file="${client-src-name}" property="client" suffix=".java"/>
<dirname file="${client-src-name}" property="client-directory"/>
<basename file="${client-directory}" property="client-pkg-name"/>
<property name="client-class-name" value="${client-pkg-name}/${client}.class"/>
<echo message="wsimporting http://${http.host}:${http.port}/${server}/${server}Service?WSDL"/>
<exec executable="${env.S1AS_HOME}/bin/wsimport">
<arg line="-keep -d ${env.APS_HOME}/build/module/classes http://${http.host}:${http.port}/${server}/${server}Service?WSDL"/>
</exec>
<antcall target="compile-client"/>
<echo message="Running appclient with ${client-pkg-name}.${client}"/>
<unjar src="${env.APS_HOME}/lib/reporter.jar" dest="${env.APS_HOME}/build/module/classes"/>
<exec executable="${env.S1AS_HOME}/bin/appclient" dir="${env.APS_HOME}/build/module/classes">
<arg value="${client-pkg-name}.${client}"/>
</exec>
</target>
<target name="internal-report-success" if="undeploy_succeeded">
<antcall target="report-success"/>
</target>
<target name="internal-report-failure" if="undeploy_failed, deploy_failed">
<antcall target="report-failure"/>
</target>