| <?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> | |