| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE project [ |
| <!-- |
| |
| Copyright (c) 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 |
| |
| --> |
| |
| <!ENTITY commonSetup SYSTEM "file:./../../../../config/properties.xml"> |
| <!ENTITY commonBuild SYSTEM "file:./../../../../config/common.xml"> |
| ]> |
| <!-- |
| |
| All appclient devtests can use the ant import task to include this file. |
| It defines several useful tasks: |
| |
| all - clean, build, deploy, run, undeploy |
| clean |
| compile |
| build |
| deploy |
| undeploy |
| test |
| |
| This project assumes that all tests include both a stand-alone client jar |
| and an embedded one. If a particular test does not include one or the other |
| of these, that test's build.xml can override any of the following targets |
| to make them no-ops: |
| |
| build.ear |
| build.client |
| deploy.ear |
| deploy.client |
| undeploy.ear |
| undeploy.client |
| test.standalone.client |
| test.embedded.client |
| |
| |
| --> |
| <project name="importedAppclient" default="."> |
| <target name="all" depends="clean,build,deploy,run,undeploy"/> |
| |
| <target name="clean" depends="init-common"> |
| <antcall target="clean-common"/> |
| </target> |
| |
| <!-- In this example there are only .java files for the client --> |
| |
| <target name="compile" depends="init-common"> |
| <antcall target="compile-common"> |
| <param name="src" value="client"/> |
| </antcall> |
| </target> |
| |
| <target name="build" depends="init-common"> |
| <antcall target="build.client"/> |
| <antcall target="build.ear"/> |
| <!-- |
| <antcall target="build.ejb"/> |
| --> |
| </target> |
| |
| <target name="build.ear"> |
| <antcall target="ear-common"/> |
| </target> |
| |
| <!-- |
| <target name="build.ejb"> |
| <antcall target="ejb-common"/> |
| </target> |
| --> |
| |
| <!-- |
| The following implementation borrows heavily from the same target in |
| common.xml, but includes reporter.jar in the client jar so the client can report its |
| results. |
| --> |
| <target name="build.client" depends="compile"> |
| <delete file="${appclient.jar}"/> |
| <mkdir dir="${assemble.dir}"/> |
| <property name="appclientjar.files" value="${build.classes.dir}"/> |
| <property name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/> |
| <property name="manifest.file" value="./client/MANIFEST.MF"/> |
| |
| <echo message="common.xml: Generating appclient-jar inside build directory" |
| level="verbose"/> |
| <mkdir dir="${build.classes.dir}/META-INF"/> |
| <copy file="${application-client.xml}" |
| tofile="${build.classes.dir}/META-INF/application-client.xml" |
| failonerror="false" |
| overwrite="true"/> |
| <copy file="${sun-application-client.xml}" tofile="${build.classes.dir}/META-INF/sun-application-client.xml" |
| failonerror="false" |
| overwrite="true"/> |
| <jar jarfile="${appclient.jar}" basedir="${appclientjar.files}" |
| update="true" includes ="${appclientjar.classes}" |
| manifest="${manifest.file}"> |
| <metainf dir="${build.classes.dir}/META-INF"> |
| <include name="application-client.xml"/> |
| <include name="sun-application-client.xml"/> |
| </metainf> |
| <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/> |
| </jar> |
| </target> |
| |
| <target name="deploy" |
| depends="init-common"> |
| <antcall target="deploy.ear"/> |
| <antcall target="deploy.client"/> |
| </target> |
| |
| <target name="deploy.ear" depends="build.ear"> |
| <antcall target="deploy-common"/> |
| </target> |
| |
| <target name="deploy.client" depends="build.client"> |
| <antcall target="deploy-common"> |
| <param name="deployed.app" value="${assemble.dir}/${appname}-client.jar"/> |
| </antcall> |
| </target> |
| |
| <target name="undeploy" depends="init-common"> |
| <antcall target="undeploy.ear"/> |
| <antcall target="undeploy.client"/> |
| </target> |
| |
| <target name="undeploy.ear" depends="init-common"> |
| <antcall target="undeploy-common"/> |
| </target> |
| |
| <target name="undeploy.client" depends="init-common"> |
| <antcall target="undeploy-client-common"/> |
| </target> |
| |
| <target name="run"> |
| <antcall target="test.standalone.client"/> |
| <antcall target="test.embedded.client"/> |
| </target> |
| |
| <target name="test.standalone.client" depends="init-common"> |
| <antcall target="test.client"> |
| <param name="urlpath" value="/${clientname}"/> |
| </antcall> |
| </target> |
| |
| <target name="test.embedded.client" depends="init-common"> |
| <antcall target="test.client"> |
| <param name="generated.appclient.jar" value="${assemble.dir}/${appname}AppClient.jar"/> |
| <param name="urlpath" value="/${appname}App/${clientname}"/> |
| </antcall> |
| </target> |
| |
| <target name="test.undeployed.client" depends="init-common"> |
| <property name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/> |
| <property name="generated.appclient.jar" value="${appclient.jar}"/> |
| <antcall target="test.client"/> |
| </target> |
| |
| <target name="test.client"> |
| <property name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/> |
| <property name="generated.appclient.jar" value="${assemble.dir}/${appname}-clientClient.jar"/> |
| <echo>appclient -client ${generated.appclient.jar} ${appclient.application.args}</echo> |
| <exec executable="${APPCLIENT}" failonerror="false" logError="true"> |
| <arg line="-client ${generated.appclient.jar}"/> |
| <arg line="${appclient.application.args}"/> |
| </exec> |
| </target> |
| |
| </project> |
| |