blob: bee13048c3c9b99bd143efa82de8c966f9f9a348 [file] [log] [blame]
<!--
Copyright (c) 2017, 2021 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
-->
<!--
This is the top level build file that should be
imported into all the leaf level build files
-->
<!-- ================================================================ -->
<!-- Targets to clean class files and jars files -->
<!--
Variables used:
${build.classes.dir}
${assemble.dir}
-->
<!-- ================================================================ -->
<target name="clean-classes-common" depends="init-common">
<echo message="common.xml: Cleaning test source files: ${build.base.dir}" level="verbose" />
<delete dir="${build.base.dir}" />
</target>
<target name="clean-jars-common" depends="init-common">
<delete dir="${assemble.dir}" />
</target>
<target name="clean-common" depends="init-common">
<antcall target="clean-classes-common" />
<antcall target="clean-jars-common" />
</target>
<!-- ================================================================ -->
<!-- Target to compile the java source files -->
<!--
Variables used:
${build.classes.dir}
${s1astest.classpath}
${src}
-->
<!-- ================================================================ -->
<target name="compile-common" depends="init-common">
<tstamp>
<format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
</tstamp>
<echo>Current time (ISO): ${TIMESTAMP}</echo>
<mkdir dir="${build.classes.dir}" />
<echo message="common.xml: Compiling test source files" level="verbose" />
<mkdir dir="${src}" />
<javac srcdir="${src}" destdir="${build.classes.dir}" classpath="${s1astest.classpath}"
debug="on" includeantruntime="false" failonerror="true" fork="yes" />
</target>
<target name="compile-common-with-endorsed-dir" depends="init-common">
<mkdir dir="${build.classes.dir}" />
<echo message="common.xml: Compiling test source files" level="verbose" />
<mkdir dir="${src}" />
<javac srcdir="${src}" destdir="${build.classes.dir}" classpath="${s1astest.classpath}"
debug="on" includeantruntime="false" failonerror="true">
</javac>
</target>
<!-- ================================================================ -->
<!-- This is the external target war-common to be called up build files
usage:
<antcall target="war-common">
<param name="war.classes" value="MyServlet.class,MyOtherServlet.class"/>
</antcall>
Assumption: All the static content is placed in webcontent directory
Variables Used:
${war.file}
${build.classes.dir}
${appname}
${assemble.dir}
${web.xml}
${beans.xml}
${tlds}
${tagfiles}
${APS_HOME}
${webclient.war.files}
${webclient.war.classes}
-->
<!-- ================================================================ -->
<target name="webclient-war-common" if="hasWebclient" depends="init-common">
<mkdir dir="${assemble.dir}" />
<antcall target="package-war-common">
<param name="war.classes" value="${build.classes.dir}" />
<param name="war.file" value="${assemble.dir}/${appname}-web.war" />
</antcall>
</target>
<target name="publish-war-common" depends="init-common">
<mkdir dir="${build.webapps.dir}" />
<copy file="${assemble.dir}/${appname}-web.war"
tofile="${build.webapps.dir}/${appname}.war" overwrite="true" />
</target>
<target name="clean-webapps-common" depends="init-common">
<delete dir="${build.webapps.dir}" quiet="true" />
</target>
<target name="clear">
<delete file="${war.file}" />
</target>
<target name="copy-tlds" if="tlds-exist" depends="clear,test-tlds-exist">
<mkdir dir="${build.classes.dir}/tmp/WEB-INF/tlds" />
<copy todir="${build.classes.dir}/tmp/WEB-INF/tlds" failonerror="false">
<fileset dir="${tlds}">
<include name="**/*.tld" />
</fileset>
</copy>
</target>
<target name="copy-tagfiles" if="tagfiles-exist" depends="clear,test-tagfiles-exist">
<mkdir dir="${build.classes.dir}/tmp/WEB-INF/tags" />
<copy todir="${build.classes.dir}/tmp/WEB-INF/tags" failonerror="false">
<fileset dir="${tagfiles}">
<include name="**/*.tag" />
<include name="**/*.tagx" />
</fileset>
</copy>
</target>
<target name="package-war-common" depends="copy-tlds,copy-tagfiles">
<echo message="my build classes dir is:${build.classes.dir}" level="verbose" />
<mkdir dir="${build.classes.dir}/tmp" />
<mkdir dir="${build.classes.dir}/tmp/WEB-INF" />
<mkdir dir="${build.classes.dir}/tmp/WEB-INF/classes" />
<mkdir dir="${build.classes.dir}/tmp/WEB-INF/lib" />
<mkdir dir="lib" />
<copy file="${glassfish-web.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-web.xml"
failonerror="false" quiet="true" />
<copy file="${sun-web.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/sun-web.xml"
failonerror="false" quiet="true"/>
<copy file="${glassfish-ejb-jar.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-ejb-jar.xml"
failonerror="false" quiet="true" />
<copy file="${sun-ejb-jar.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/sun-ejb-jar.xml"
failonerror="false" quiet="true" />
<copy file="${weblogic.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/weblogic.xml"
failonerror="false" quiet="true"/>
<copy file="${glassfish-resources.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/glassfish-resources.xml"
failonerror="false" quiet="true"/>
<copy todir="${build.classes.dir}/tmp/WEB-INF/lib" failonerror="false" quiet="true">
<fileset dir="lib">
<include name="**/*.jar" />
<include name="**/*.zip" />
</fileset>
</copy>
<copy file="${webservices.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/webservices.xml"
failonerror="false" quiet="true" />
<copy file="${mappingfile.location}/${mappingfile.name}" tofile="${build.classes.dir}/tmp/${mappingfile.name}"
failonerror="false" quiet="true" />
<copy file="${wsdlfile.location}/${wsdlfile.name}" tofile="${build.classes.dir}/tmp/WEB-INF/wsdl/${wsdlfile.name}"
failonerror="false" quiet="true" />
<copy file="${tagPlugins.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/tagPlugins.xml"
failonerror="false" quiet="true" />
<copy file="${web.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/web.xml"
failonerror="false" quiet="true" />
<copy file="${persistence.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/classes/META-INF/persistence.xml"
failonerror="false" quiet="true" />
<copy file="${beans.xml}" tofile="${build.classes.dir}/tmp/WEB-INF/beans.xml"
failonerror="false" quiet="true" />
<copy file="${context.xml}" tofile="${build.classes.dir}/tmp/META-INF/context.xml"
failonerror="false" quiet="true" />
<copy file="${cdi-extension.service}" tofile="${build.classes.dir}/tmp/WEB-INF/classes/META-INF/services/jakarta.enterprise.inject.spi.Extension"
failonerror="false" quiet="true" />
<copy todir="${build.classes.dir}/tmp/WEB-INF/classes">
<fileset dir="${war.classes}">
<include name="**/*.class" />
</fileset>
</copy>
<echo message="Creating war file ${war.file}" level="verbose" />
<mkdir dir="${basedir}/docroot" />
<jar jarfile="${war.file}" update="true">
<fileset dir="${build.classes.dir}/tmp" casesensitive="yes">
<include name="**/*class*" />
</fileset>
<fileset dir="${basedir}/docroot" casesensitive="yes">
<include name="**/*.html" />
<include name="**/*.HTML" />
<include name="**/*.xhtml" />
<include name="**/*.jsp" />
<include name="**/*.jspx" />
<include name="**/*.jspf" />
<include name="**/*.gif" />
<include name="**/*.do" />
<include name="**/*.txt" />
<include name="**/*.css" />
<include name="**/*.shtml" />
<include name="**/*.jar" />
<exclude name="**/*.java,**/*.xml,**/*.properties" />
</fileset>
<fileset dir="${build.classes.dir}/tmp/" casesensitive="true">
<include name="WEB-INF/web.xml" />
<include name="WEB-INF/glassfish-web.xml" />
<include name="WEB-INF/glassfish-ejb-jar.xml" />
<include name="WEB-INF/glassfish-resources.xml" />
<include name="WEB-INF/sun-web.xml" />
<include name="WEB-INF/sun-ejb-jar.xml" />
<include name="WEB-INF/beans.xml" />
<include name="WEB-INF/weblogic.xml" />
<include name="WEB-INF/webservices.xml" />
<include name="WEB-INF/tagPlugins.xml" />
<include name="WEB-INF/lib/*" />
<include name="WEB-INF/lib/extra/*" />
<include name="WEB-INF/tlds/*" />
<include name="WEB-INF/tags/*" />
<include name="WEB-INF/wsdl/${wsdlfile.name}" />
<include name="${mappingfile.name}" />
<include name="META-INF/context.xml" />
<include
name="WEB-INF/classes/META-INF/services/jakarta.enterprise.inject.spi.Extension" />
<include name="WEB-INF/classes/META-INF/persistence.xml" />
</fileset>
</jar>
<echo message="created war file ${war.file}" level="verbose" />
<delete dir="${build.classes.dir}/tmp/WEB-INF" failonerror="false" />
<echo message="my webclient war classes are:${webclient.war.classes}" level="verbose" />
</target>
<target name="test-tlds-exist">
<available file="${tlds}" property="tlds-exist" />
</target>
<target name="test-tagfiles-exist">
<available file="${tagfiles}" property="tagfiles-exist" />
</target>
<!-- ================================================================ -->
<!-- Target to package the ejb application to jar file -->
<!--
Variables Used:
${ejb.jar}
${build.classes.dir}
${ejb-jar.xml}
${beans.xml}
${persistence-orm.xml}
${persistence.xml}
${sun-ejb-jar.xml}
${glassfish-ejb-jar.xml}
${sun-cmp-mappings.xml}
${metainf.dir}
${ejbjar.files}
${dbschema}
-->
<!-- ================================================================ -->
<target name="package-ejbjar-common">
<delete file="${ejb.jar}" />
<echo message="common.xml: Generating ejb-jar inside build directory" level="verbose" />
<mkdir dir="${build.classes.dir}/META-INF" />
<copy file="${ejb-jar.xml}" tofile="${build.classes.dir}/META-INF/ejb-jar.xml"
failonerror="false" quiet="true"/>
<copy file="${persistence.xml}" tofile="${build.classes.dir}/META-INF/persistence.xml"
failonerror="false" quiet="true"/>
<copy file="${persistence-orm.xml}" tofile="${build.classes.dir}/META-INF/persistence-orm.xml"
failonerror="false" quiet="true"/>
<copy file="${webservices.xml}" tofile="${build.classes.dir}/META-INF/webservices.xml"
failonerror="false" quiet="true"/>
<copy file="${sun-ejb-jar.xml}" tofile="${build.classes.dir}/META-INF/sun-ejb-jar.xml"
failonerror="false" quiet="true"/>
<copy file="${glassfish-ejb-jar.xml}" tofile="${build.classes.dir}/META-INF/glassfish-ejb-jar.xml"
failonerror="false" quiet="true"/>
<copy file="${glassfish-resources.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml"
failonerror="false" quiet="true"/>
<copy file="${sun-cmp-mappings.xml}" tofile="${build.classes.dir}/META-INF/sun-cmp-mappings.xml"
failonerror="false" quiet="true"/>
<copy file="${beans.xml}" tofile="${build.classes.dir}/META-INF/beans.xml"
failonerror="false" quiet="true"/>
<copy file="${batch.xml}" tofile="${build.classes.dir}/META-INF/batch.xml"
failonerror="false" quiet="true"/>
<copy todir="${build.classes.dir}/META-INF/batch-jobs" failonerror="false" quiet="true">
<fileset dir="${batch.jobs.dir}" />
</copy>
<copy file="${dbschema}" todir="${build.classes.dir}" failonerror="false" quiet="true"/>
<jar jarfile="${ejb.jar}" basedir="${ejbjar.files}" update="true"
includes="${ejbjar.classes}">
<metainf dir="${build.classes.dir}/META-INF">
<include name="ejb-jar.xml" />
<include name="persistence.xml" />
<include name="persistence-orm.xml" />
<include name="webservices.xml" />
<include name="sun-ejb-jar.xml" />
<include name="glassfish-resources.xml" />
<include name="glassfish-ejb-jar.xml" />
<include name="sun-cmp-mappings.xml" />
<include name="beans.xml" />
<include name="batch-jobs/**/*.xml" />
<include name="batch.xml" />
</metainf>
</jar>
<delete dir="${build.classes.dir}/META-INF" failonerror="false" />
<delete file="${build.classes.dir}/*.dbschema" failonerror="false" />
</target>
<!-- ================================================================ -->
<!-- Target to package the appclient application to jar file -->
<!--
Variables Used:
${appclient.jar}
${appclientjar.classes}
${appclientjar.files}
${build.classes.dir}
${application-client.xml}
${glassfish-application-client.xml}
${sun-application-client.xml}
-->
<!-- ================================================================ -->
<target name="package-appclientjar-common">
<delete file="${appclient.jar}" />
<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" quiet="true"/>
<copy file="${glassfish-application-client.xml}"
tofile="${build.classes.dir}/META-INF/glassfish-application-client.xml" failonerror="false" quiet="true"/>
<copy file="${sun-application-client.xml}"
tofile="${build.classes.dir}/META-INF/sun-application-client.xml" failonerror="false" quiet="true"/>
<jar jarfile="${appclient.jar}" basedir="${appclientjar.files}" update="true"
includes="${appclientjar.classes}" manifest="./client/MANIFEST.MF">
<metainf dir="${build.classes.dir}/META-INF">
<include name="application-client.xml" />
<include name="glassfish-application-client.xml" />
<include name="sun-application-client.xml" />
</metainf>
</jar>
</target>
<!-- ================================================================ -->
<!-- Target to create the ejb application jar file -->
<!-- ================================================================ -->
<target name="ejb-jar-common" depends="init-common">
<mkdir dir="${assemble.dir}" />
<antcall target="package-ejbjar-common">
<param name="ejbjar.files" value="${build.classes.dir}" />
<param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar" />
</antcall>
</target>
<!-- ================================================================ -->
<!-- Target to create the appclient jar file -->
<!-- ================================================================ -->
<target name="appclient-jar-common" depends="init-common">
<mkdir dir="${assemble.dir}" />
<antcall target="package-appclientjar-common">
<param name="appclientjar.files" value="${build.classes.dir}" />
<param name="appclient.jar" value="${assemble.dir}/${appname}-client.jar" />
</antcall>
</target>
<!-- ===== package par ===== -->
<target name="package-persistence-common" depends="init-common" if="ejb30-persistence">
<echo message="CREATING Persistence archive: common.xml: ${build.classes.dir}, ${assemble.dir}" />
<mkdir dir="${assemble.dir}" />
<delete file="${assemble.dir}/${appname}-persistence.jar" failonerror="false" />
<echo message="common.xml: Generating PAR inside build directory" />
<mkdir dir="${build.classes.dir}/META-INF" />
<copy file="${persistence.xml}" tofile="${build.classes.dir}/META-INF/persistence.xml"
failonerror="false" quiet="true"/>
<copy file="${mapping.xml}" tofile="${build.classes.dir}/META-INF/entity-mapping.xml"
failonerror="false" quiet="true"/>
<!-- make a jar -->
<jar jarfile="${assemble.dir}/${appname}-persistence.jar" basedir="${build.classes.dir}" update="true"
includes="**/*.class"
excludes="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Bean*.class,**/*EJB*.class,**/*Exception.class">
<metainf dir="${build.classes.dir}/META-INF">
<include name="**/*.xml" />
</metainf>
</jar>
<delete dir="${build.classes.dir}/META-INF" failonerror="false" />
</target>
<!-- ================================================================ -->
<!-- Target to assemble the ejb application to ear file -->
<!-- ================================================================ -->
<target name="build-ear-common" depends="fixFiles,package-persistence-common,ejb-jar-common,appclient-jar-common,webclient-war-common">
<delete file="${assemble.dir}/${appname}.ear" />
<mkdir dir="${assemble.dir}" />
<mkdir dir="${build.classes.dir}/META-INF" />
<copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml"
failonerror="false" quiet="true"/>
<copy file="${application.xml}" tofile="${build.classes.dir}/META-INF/application.xml"
failonerror="false" quiet="true"/>
<copy file="${glassfish-resources-ear.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml"
failonerror="false" quiet="true" filtering="true" />
<jar jarfile="${assemble.dir}/${appname}App.ear">
<fileset dir="${assemble.dir}">
<include name="*.jar" />
<include name="*.war" />
</fileset>
<fileset dir="${build.classes.dir}">
<include name="META-INF/sun-application.xml" />
<include name="META-INF/application.xml" />
<include name="META-INF/glassfish-resources.xml" />
</fileset>
<fileset dir="${env.APS_HOME}" includes="lib/reporter.jar" />
</jar>
</target>
<!-- ================================================================ -->
<!-- Target to assemble the ejb application to ear file -->
<!-- ================================================================ -->
<target name="ear-common" depends="fixFiles,init-common">
<delete file="${assemble.dir}/${appname}.ear" />
<mkdir dir="${assemble.dir}" />
<mkdir dir="${build.classes.dir}/META-INF" />
<copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml" failonerror="false" />
<copy file="${glassfish-resources-ear.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml"
failonerror="false" filtering="true" />
<ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
<fileset dir="${assemble.dir}">
<include name="*.jar" />
<include name="*.war" />
</fileset>
<fileset dir="${build.classes.dir}">
<include name="META-INF/sun-application.xml" />
<include name="META-INF/glassfish-resources.xml" />
</fileset>
<fileset dir="${env.APS_HOME}" includes="lib/reporter.jar" />
</ear>
</target>
<!-- run Verifier on the ear file -->
<target name="verifier" depends="init-common">
<echo message="Running verifier
ear file ${assemble.dir}/${appname}App.ear " level="verbose" />
<antcall target="verifier-common">
<param name="verifier.command" value=" -n -rw " />
<param name="operand.props" value="${assemble.dir}/${appname}App.ear" />
</antcall>
<echo message="Validate the static check results" level="verbose" />
</target>
<target name="verifier-common">
<echo message="Operand ${operand.props}" level="verbose" />
<exec executable="${VERIFIER}" failonerror="true">
<arg line="${verifier.command} ${operand.props}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to execute asadmin commands -->
<!-- ================================================================ -->
<target name="asadmin-common">
<echo message="Doing admin task ${admin.command}" level="verbose" />
<echo message="Operand ${operand.props}" level="verbose" />
<echo message="asadmin ${admin.command} ${as.props} ${operand.props}" />
<exec executable="${ASADMIN}" failonerror="true">
<arg line="${admin.command} ${as.props} ${operand.props}" />
</exec>
</target>
<target name="asadmin-common-ignore-fail">
<echo message="Doing admin task ${admin.command} (ignore failures)" level="verbose" />
<echo message="Operand ${operand.props}" level="verbose" />
<echo message="asadmin ${admin.command} ${as.props} ${operand.props}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="${admin.command} ${as.props} ${operand.props}" />
</exec>
</target>
<!-- Target to execute a batchfile of asadmin commands -->
<!-- ================================================================ -->
<target name="asadmin-batch-common">
<echo message="Doing admin batch task ${admin.command} --file" level="verbose" />
<property name="user.password.file" value="asadminuserpassword.txt" />
<echo file="${user.password.file}" append="false">
AS_ADMIN_USERPASSWORD=${password}
AS_ADMIN_PASSWORD=${admin.password}
AS_ADMIN_ADMINPASSWORD=${admin.password}
AS_ADMIN_MASTERPASSWORD=${master.password}
</echo>
<exec executable="${ASADMIN}" failonerror="true">
<arg
line="--user ${admin.user} --passwordfile ${user.password.file} --host ${admin.host} --port ${admin.port} --echo=true --terse=true" />
<arg line="multimode --file ${asadmin.file}" />
</exec>
<delete file="${user.password.file}" failonerror="false" />
</target>
<!-- ================================================================ -->
<!-- ================================================================ -->
<!-- Target to create the user in file realm the AppServ -->
<!-- ================================================================ -->
<target name="create-user-common" depends="init-common">
<property name="user.password.file" value="asadminuserpassword.txt" />
<echo file="${user.password.file}" append="false">
AS_ADMIN_USERPASSWORD=${password}
AS_ADMIN_PASSWORD=${admin.password}
AS_ADMIN_ADMINPASSWORD=${admin.password}
AS_ADMIN_MASTERPASSWORD=${master.password}
</echo>
<exec executable="${ASADMIN}">
<arg line="create-file-user" />
<arg
line="--user ${admin.user} --passwordfile ${user.password.file} --host ${admin.host} --port ${admin.port} --echo=true --terse=true" />
<arg line="--groups ${groups}" />
<arg line="--authrealmname ${authrealmname}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${user}" />
</exec>
<delete file="${user.password.file}" failonerror="false" />
</target>
<!-- ================================================================ -->
<!-- Target to delete the user in file realm the AppServ -->
<!-- ================================================================ -->
<target name="delete-user-common" depends="init-common">
<echo message="Deleting user ${user} in file realm" level="verbose" />
<exec executable="${ASADMIN}">
<arg line="delete-file-user" />
<arg line="${as.props}" />
<arg line="--authrealmname ${authrealmname}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${user}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- J2EE Connector related targets -->
<!-- ================================================================ -->
<target name="create-connector-connpool-common" depends="init-common, create-connector-connpool" />
<target name="create-connector-connpool" depends="init-common">
<property name="failonerror" value="false" />
<property name="extra-params" value="" />
<echo
message="asadmin create-connector-connection-pool ${as.props} --raname ${ra.name} --connectiondefinition ${connection.defname} --target ${appserver.instance.name} ${connector.conpool.name}" />
<exec executable="${ASADMIN}" failonerror="${failonerror}">
<arg line="create-connector-connection-pool" />
<arg line="${as.props}" />
<arg line="--raname ${ra.name}" />
<arg line="${extra-params}" />
<arg line="--connectiondefinition ${connection.defname}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${connector.conpool.name}" />
</exec>
</target>
<target name="delete-connector-connpool-common" depends="init-common">
<echo message="asadmin delete-connector-connection-pool ${as.props} --cascade=true ${connector.conpool.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-connector-connection-pool" />
<arg line="${as.props}" />
<arg line="--cascade=true" />
<arg line="${connector.conpool.name}" />
</exec>
</target>
<!-- create/delete Connector resource -->
<target name="create-connector-resource-common" depends="init-common">
<property name="failonerror" value="false" />
<echo
message="asadmin create-connector-resource ${as.props} --poolname ${connector.conpool.name} --target ${appserver.instance.name} ${connector.jndi.name}" />
<exec executable="${ASADMIN}" failonerror="${failonerror}">
<arg line="create-connector-resource" />
<arg line="${as.props}" />
<arg line="--poolname ${connector.conpool.name}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${connector.jndi.name}" />
</exec>
</target>
<target name="delete-connector-resource-common" depends="init-common">
<echo message="asadmin delete-connector-resource ${as.props} ${connector.jndi.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-connector-resource" />
<arg line="${as.props}" />
<arg line="${connector.jndi.name}" />
</exec>
</target>
<!-- deploy/undeploy RAR files -->
<target name="deploy-rar-common" depends="init-common">
<echo message="Deploying ${rarfile}" level="verbose" />
<echo message="asadmin deploy ${as.props} --target ${appserver.instance.name} --force=${force} ${rarfile}" />
<property name="force" value="false" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="${extra-params}" />
<arg line="--force=${force}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${rarfile}" />
</exec>
<echo message="Deploying ${rarfile} on ${appserver.instance.name}" />
</target>
<target name="undeploy-rar-common" depends="init-common">
<echo message="Undeploying ${undeployrar}" level="verbose" />
<echo
message="asadmin undeploy ${as.props} --target ${appserver.instance.name} --cascade=${cascade} ${undeployrar}" />
<property name="cascade" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--cascade=${cascade}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${undeployrar}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to create JDBC connection pool -->
<!-- ================================================================ -->
<target name="create-jdbc-connpool-common" depends="init-common">
<echo message="created jdbc connection pool ${jdbc.conpool.name}" level="verbose" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-jdbc-connection-pool" />
<arg line="--datasourceclassname ${db.class}" />
<arg line="--restype ${jdbc.resource.type}" />
<arg line="${extra-params}" />
<arg line="${as.props}" />
<arg line="${jdbc.conpool.name}" />
</exec>
<antcall target="set-${db.type}-connpool-props" />
</target>
<target name="create-jdbc-driver-connpool-common" depends="init-common">
<echo message="created jdbc connection pool ${jdbc.conpool.name}" level="verbose" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-jdbc-connection-pool" />
<arg line="--driverclassname ${db.class}" />
<arg line="--restype ${jdbc.resource.type}" />
<arg line="${extra-params}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${as.props}" />
<arg line="${jdbc.conpool.name}" />
</exec>
<antcall target="set-${db.type}-driver-connpool-props" />
</target>
<target name="set-pointbase-connpool-props">
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.DatabaseName=${db.url}" />
</antcall>
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.User=${db.user}" />
</antcall>
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.Password=${db.pwd}" />
</antcall>
</target>
<target name="set-pointbase-driver-connpool-props">
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.URL=${db.url};user=${db.user};password=${db.pwd}" />
</antcall>
</target>
<target name="set-derby-connpool-props">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.User=${db.user}" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.Password=${db.pwd}" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.driverType=4" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.portNumber=${db.port}" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.dataBaseName=${db.name}" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg
line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.retrieveMessagesFromServerOnGetMessage=true" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.create=true" />
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set" />
<arg line="${as.props}" />
<arg line="domain.resources.jdbc-connection-pool.${jdbc.conpool.name}.property.serverName=${db.host}" />
</exec>
</target>
<target name="set-derby-driver-connpool-props">
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${jdbc.conpool.name}.property.URL=${db.url};user=${db.user};password=${db.pwd}" />
</antcall>
</target>
<!-- ================================================================ -->
<!-- Target to delete JDBC connection-pool -->
<!-- ================================================================ -->
<target name="delete-jdbc-connpool-common" depends="init-common">
<echo message="asadmin delete-jdbc-connection-pool ${as.props} --cascade=true ${jdbc.conpool.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-jdbc-connection-pool" />
<arg line="${as.props}" />
<arg line="--cascade=true" />
<arg line="${jdbc.conpool.name}" />
</exec>
<echo message="cmd executed for ${appserver.instance.name}" />
</target>
<!-- ================================================================ -->
<!-- Target to create JDBC resource -->
<!-- ================================================================ -->
<target name="create-jdbc-resource-common" depends="init-common">
<echo message="Creating jdbc resource pool ${jdbc.resource.name}" level="verbose" />
<echo
message="asadmin create-jdbc-resource ${as.props} --connectionpoolid ${jdbc.conpool.name} --target ${appserver.instance.name} ${jdbc.resource.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-jdbc-resource" />
<arg line="${as.props}" />
<arg line="--connectionpoolid ${jdbc.conpool.name}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${jdbc.resource.name}" />
</exec>
<echo message="cmd executed for ${appserver.instance.name}" />
</target>
<!-- ================================================================ -->
<!-- Target to delete JDBC resource -->
<!-- ================================================================ -->
<target name="delete-jdbc-resource-common" depends="init-common">
<echo
message="asadmin delete-jdbc-resource ${as.props} --target ${appserver.instance.name} ${jdbc.resource.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-jdbc-resource" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${jdbc.resource.name}" />
</exec>
<echo message="cmd executed for ${appserver.instance.name}" />
</target>
<!-- ================================================================ -->
<!-- Target to deploy JDBC resources -->
<!-- ================================================================ -->
<target name="deploy-jdbc-common" depends="init-common">
<antcall target="create-jdbc-connpool-common" />
<antcall target="create-jdbc-resource-common" />
</target>
<target name="deploy-jdbc-driver-common" depends="init-common">
<antcall target="create-jdbc-driver-connpool-common" />
<antcall target="create-jdbc-resource-common" />
</target>
<!-- ================================================================ -->
<!-- Target to undeploy JDBC resources -->
<!-- ================================================================ -->
<target name="undeploy-jdbc-common" depends="init-common">
<antcall target="delete-jdbc-resource-common" />
<antcall target="delete-jdbc-connpool-common" />
</target>
<!-- ================================================================ -->
<!-- Target to create persistence resource -->
<!-- ================================================================ -->
<target name="create-persistence-resource-common" depends="init-common">
<echo message="Creating pm resource at ${pm.resource.name}" level="verbose" />
<echo
message="asadmin create-persistence-resource ${as.props} --target ${appserver.instance.name} ${pm.resource.name}" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-persistence-resource" />
<arg line="${as.props}" />
<arg line="--port ${admin.port}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${pm.resource.name}" />
</exec>
<echo message="Created ${pm.resource.name} --target ${appserver.instance.name}" />
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.persistence-manager-factory-resource.${pm.resource.name}.factory_class=${pm.factory.class}" />
</antcall>
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.persistence-manager-factory-resource.${pm.resource.name}.jdbc_resource_jndi_name=${jdbc.resource.name}" />
</antcall>
</target>
<!-- ================================================================ -->
<!-- Target to delete persistence resource -->
<!-- ================================================================ -->
<target name="delete-persistence-resource-common" depends="init-common">
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command"
value="delete-persistence-resource
--target ${appserver.instance.name}" />
<param name="operand.props" value="${pm.resource.name}" />
</antcall>
</target>
<target name="execute-sql-common" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${sql.file}" level="verbose" />
<sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pwd}" src="${sql.file}"
onerror="continue" print="yes" classpath="${s1astest.classpath}" />
</target>
<target name="execute-ejb-sql-common" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${sql.file}" level="verbose" />
<sql driver="${db.driver}" url="jdbc:derby://localhost:${db.port}/sun-appserv-samples;create=true;" userid="APP"
password="APP" src="${sql.file}" onerror="continue" print="yes" output="${build.classes.dir}/setupDBTables.out"
classpath="${s1astest.classpath}" />
</target>
<!-- ================================================================ -->
<!-- Target to create/delete javamail resources -->
<!--
Properties required:
mailhost
fromaddress
debug
enabled
javamail.resource.name (e.g. mail/MySession)
-->
<!-- ================================================================ -->
<target name="create-javamail-resource-common">
<exec executable="${ASADMIN}">
<arg line="create-javamail-resource" />
<arg line="--port ${admin.port}" />
<arg line="--mailhost ${mailhost}" />
<arg line="--mailuser ${mailuser}" />
<arg line="--fromaddress ${fromaddress}" />
<arg line="--storeprotocol=imap" />
<arg line="--storeprotocolclass=com.sun.mail.imap.IMAPStore" />
<arg line="--transprotocol=smtp" />
<arg line="--transprotocolclass=com.sun.mail.smtp.SMTPTransport" />
<arg line="--debug=${debug}" />
<arg line="--enabled=${enabled}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${as.props}" />
<arg line="${javamail.resource.name}" />
</exec>
</target>
<target name="delete-javamail-resource-common">
<exec executable="${ASADMIN}">
<arg line="delete-javamail-resource" />
<arg line="--port ${admin.port}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${as.props}" />
<arg line="${javamail.resource.name}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to create database table through SQL file -->
<!-- ================================================================ -->
<target name="create-sql-common" depends="init-common">
<echo message="creating tables from ${basedir}/sql/${db.create}" level="verbose" />
<sql
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="sql/${db.create}"
onerror="continue"
print="yes"
output="${build.classes.dir}/setupDBTables.out"
classpath="${s1astest.classpath}" />
</target>
<!-- ================================================================ -->
<!-- Target to delete database table through SQL file -->
<!-- ================================================================ -->
<target name="delete-sql-common" depends="init-common">
<echo message="dropping tables from ${basedir}/sql/${db.drop}" level="verbose" />
<sql
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="sql/${db.drop}"
onerror="continue"
print="yes"
output="${build.classes.dir}/setupDBTables.out"
classpath="${s1astest.classpath}" />
</target>
<!-- ======================================================= -->
<!-- Taget to create JMS Connection -->
<!-- ======================================================= -->
<target name="create-jms-connection-common" depends="init-common">
<echo message="Creating JMS connection factory with name ${jms.factory.name}" level="verbose" />
<exec executable="${ASADMIN}">
<arg line="create-jms-resource " />
<arg line="--restype ${jms.factory.type}" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${jms.factory.name}" />
</exec>
</target>
<!-- ======================================================= -->
<!-- Taget to delete JMS Connection -->
<!-- ======================================================= -->
<target name="delete-jms-connection-common" depends="init-common">
<echo message="Delete JMS connection factory with name ${jms.factory.name}" level="verbose" />
<exec executable="${ASADMIN}">
<arg line="delete-jms-resource " />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${jms.factory.name}" />
</exec>
</target>
<!-- JMS: create/delete Destination Resource Targets -->
<target name="create-jms-resource-common" depends="init-common">
<echo message="Creating JMS resource with name ${jms.resource.name}" level="verbose" />
<exec executable="${ASADMIN}">
<arg line="create-jmsdest --desttype ${dest.type} " />
<arg line="${as.props}" />
<arg line="${dest.name}" />
</exec>
<exec executable="${ASADMIN}">
<arg line="create-jms-resource " />
<arg line="--restype ${jms.resource.type}" />
<arg line="--property imqDestinationName=${dest.name}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${as.props}" />
<arg line="${jms.resource.name}" />
</exec>
</target>
<target name="delete-jms-resource-common" depends="init-common">
<echo message="Delete JMS resource with name ${jms.resource.name}" level="verbose" />
<exec executable="${ASADMIN}">
<arg line="delete-jms-resource " />
<arg line="--target ${appserver.instance.name}" />
<arg line="${as.props} ${jms.resource.name}" />
</exec>
<exec executable="${ASADMIN}">
<arg line="delete-jmsdest --desttype ${dest.type} " />
<arg line="${as.props} ${dest.name}" />
</exec>
</target>
<!-- deploy/undeploy JMS resources -->
<target name="deploy-jms-common" depends="init-common">
<antcall target="create-jms-connection-common" />
<antcall target="create-jms-resource-common" />
</target>
<target name="undeploy-jms-common" depends="init-common">
<antcall target="delete-jms-connection-common" />
<antcall target="delete-jms-resource-common" />
</target>
<!-- run StaticCheck on the ear file -->
<target name="staticCheck-common" depends="init-common">
<echo message="Running StaticCheck -b on
ear file ${assemble.dir}/${appname}App.ear " level="verbose" />
<antcall target="verifier-common">
<param name="static-check.command" value=" -b " />
<param name="operand.props" value="${assemble.dir}/${appname}App.ear" />
</antcall>
<echo message="Validate the static check results" level="verbose" />
</target>
<target name="deploy-dir" depends="init-common">
<tstamp>
<format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
</tstamp>
<echo>Current time (ISO): ${TIMESTAMP}</echo>
<echo message="Deploying files: ${assemble.dir}" level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--contextroot ${contextroot}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--name ${appname}-web" />
<arg line="${assemble.dir}" />
</exec>
</target>
<!-- deploy the applications in AppServ -->
<target name="deploy-common" depends="init-common">
<tstamp>
<format property="TIMESTAMP" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ" />
</tstamp>
<echo>Current time (ISO): ${TIMESTAMP}</echo>
<antcall target="deploy-common-pe" />
<antcall target="deploy-common-ee" />
</target>
<target name="deploy-verify-common" depends="init-common">
<antcall target="deploy-verify-common-pe" />
<antcall target="deploy-verify-common-ee" />
</target>
<target name="deploy-common-pe" depends="init-common" unless="ee">
<property name="deployed.app" value="${assemble.dir}/${appname}App.ear" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="${extra-params}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--retrieve ${assemble.dir}" />
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml -->
<arg line="${deployed.app}" />
</exec>
<echo message="Deployment on target server ${appserver.instance.name} successful" />
</target>
<target name="deploy-common-ee" depends="init-common" if="ee">
<echo message="Deploying in EE..." />
<property name="deployed.app" value="${assemble.dir}/${appname}App.ear" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--retrieve ${assemble.dir}" />
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml -->
<arg line="${deployed.app}" />
</exec>
<echo message="Deployment on target server ${appserver.instance.name} successful" />
</target>
<target name="deploy-common-libraries" depends="init-common">
<echo message="Deploying with libraries..." />
<property name="deployed.app" value="${assemble.dir}/${appname}App.ear" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--retrieve ${assemble.dir}" />
<arg line="--libraries ${libraries}" />
<!-- deployed.app defaults to ${assemble.dir}/${appname}App.ear defined in properties.xml -->
<arg line="${deployed.app}" />
</exec>
<echo message="Deployment on target server ${appserver.instance.name} successful" />
</target>
<target name="deploy-verify-common-pe" depends="init-common" unless="ee">
<property name="deployed.app" value="${assemble.dir}/${appname}App.ear" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--verify=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--retrieve ${assemble.dir}" />
<arg line="${deployed.app}" />
</exec>
<echo message="Deployment on target server ${appserver.instance.name} successful" />
</target>
<target name="deploy-verify-common-ee" depends="init-common" if="ee">
<echo message="Deploying in EE..." />
<property name="deployed.app" value="${assemble.dir}/${appname}App.ear" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--verify=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--retrieve ${assemble.dir}" />
<arg line="${deployed.app}" />
</exec>
<echo message="Deployment on target server ${appserver.instance.name} successful" />
</target>
<!-- deploy the web application in AppServ -->
<target name="deploy-jsp-common" depends="init-common">
<echo message="Deploying ${deploy.file} from ${basedir}." level="verbose" />
<property name="precompilejsp" value="true" />
<exec executable="${ASADMIN}" failonerror="true">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--upload true" />
<arg line="--retrieve ${assemble.dir}" />
<arg line="--target ${appserver.instance.name}" />
</exec>
</target>
<target name="deploy-war-name" depends="init-common">
<echo message="Deploying ${warname} from ${basedir}." level="verbose" />
<property name="force" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--contextroot ${contextroot}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--force=${force}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${warname}.war" />
</exec>
</target>
<!-- deploy the standalone war in AppServ -->
<target name="deploy-war-common">
<antcall target="deploy-war-commonpe" />
<antcall target="deploy-war-commonee" />
</target>
<target name="deploy-war-commonpe" depends="init-common" unless="ee">
<echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}." level="verbose" />
<property name="precompilejsp" value="true" />
<property name="force" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--contextroot ${contextroot}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--force=${force}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<target name="deploy-war-libraries" depends="init-common" unless="ee">
<echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}." level="verbose" />
<property name="precompilejsp" value="true" />
<property name="force" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--contextroot ${contextroot}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--force=${force}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="--libraries ${libraries}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<target name="deploy-war-instance" depends="init-common" unless="ee">
<echo message="Deploying ${assemble.dir}/${appname}-web.war from ${basedir}." level="verbose" />
<property name="precompilejsp" value="true" />
<property name="force" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--contextroot ${contextroot}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--force=${force}" />
<arg line="--upload=true" />
<arg line="--target ${instance.name}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<target name="deploy-war-commonee" if="ee">
<property name="precompilejsp" value="true" />
<property name="force" value="false" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--type web" />
<arg line="--contextroot ${contextroot}" />
<arg line="--precompilejsp=${precompilejsp}" />
<arg line="--force=${force}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<!-- deploy the standalone war in AppServ without specifying any
contextroot argument, so that the context-root specified in
sun-web.xml takes effect
-->
<target name="deploy-war-no-context-root" depends="init-common">
<antcall target="deploy-war-no-context-root-pe" />
<antcall target="deploy-war-no-context-root-ee" />
</target>
<target name="deploy-war-no-context-root-pe" unless="ee">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="--user ${admin.user}" />
<arg line="--passwordfile ${admin.password.file}" />
<arg line="--host ${admin.host}" />
<arg line="--port ${admin.port}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<target name="deploy-war-no-context-root-ee" if="ee">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy" />
<arg line="--user ${admin.user}" />
<arg line="--passwordfile ${admin.password.file}" />
<arg line="--host ${admin.host}" />
<arg line="--port ${admin.port}" />
<arg line="--type web" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-web.war" />
</exec>
</target>
<!-- deploy the standalone jar in AppServ -->
<target name="deploy-jar-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="true">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--upload=true" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-ejb.jar" />
</exec>
</target>
<!-- deploy the standalone jar in AppServ -->
<target name="deploy-client-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="true">
<arg line="deploy" />
<arg line="${as.props}" />
<arg line="--upload=true" />
<arg line="--retrieve ${assemble.dir}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${assemble.dir}/${appname}-client.jar" />
</exec>
</target>
<target name="undeploy-war-name" depends="init-common">
<property name="deployedapp.name" value="${warname}" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${extra-params}" />
<!-- deployedapp.name defaults to {appname}App.declared in properties.xml -->
<arg line="${deployedapp.name}" />
</exec>
</target>
<!-- undeploy the applications in AppServ -->
<target name="undeploy-common" depends="init-common">
<property name="deployedapp.name" value="${appname}App" />
<property name="extra-params" value="" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<!-- <arg line=type ${apptype}/> -->
<arg line="--target ${appserver.instance.name}" />
<arg line="${extra-params}" />
<!-- deployedapp.name defaults to {appname}App.declared in properties.xml -->
<arg line="${deployedapp.name}" />
</exec>
</target>
<!-- undeploy the standalone war in AppServ -->
<target name="undeploy-war-common" depends="init-common">
<echo
message="Undeploying warfile ${appname}-web from
${assemble.dir}/${appname}-web.war from ${basedir}."
level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${appname}-web" />
</exec>
</target>
<target name="undeploy-war-instance" depends="init-common">
<echo
message="Undeploying warfile ${appname}-web from
${assemble.dir}/${appname}-web.war from ${basedir}."
level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--target ${instance.name}" />
<arg line="${appname}-web" />
</exec>
</target>
<!-- undeploy the standalone war in AppServ -->
<target name="undeploy-jar-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${appname}-ejb" />
</exec>
</target>
<!-- undeploy the standalone client in AppServ -->
<target name="undeploy-client-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy" />
<arg line="${as.props}" />
<arg line="--target ${appserver.instance.name}" />
<arg line="${appname}-client" />
</exec>
</target>
<!-- run appclient in AppServ -->
<target name="runclient-common" depends="init-common">
<echo message="${APPCLIENT} -client ${assemble.dir}/${appname}AppClient.jar -name ${appname}Client -textauth -user j2ee -password j2ee -xml ${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml ${appclient.application.args}" />
<exec executable="${APPCLIENT}" failonerror="false">
<env key="APPCPATH" file="${env.APS_HOME}/lib/reporter.jar" />
<arg line="-client ${assemble.dir}/${appname}AppClient.jar" />
<arg line="-name ${appname}Client" />
<arg line="-textauth" />
<arg line="-user j2ee" />
<arg line="-password j2ee" />
<arg line="-xml ${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml" />
<arg line="${appclient.application.args}" />
</exec>
<!-- confirming report generation... -->
<antcall target="checkReporting-common">
<param name="test.name" value="${appname}" />
<param name="test.description" value="${test.description}" />
<param name="test.count" value="${test.count}" />
</antcall>
</target>
<!-- run web client in AppServ -->
<target name="runwebclient-common" depends="init-common">
<echo message="Running Web Test from ${basedir}" level="verbose" />
<echo message="http host: ${http.host}" level="verbose" />
<echo message="http port: ${http.port}" level="verbose" />
<java fork="on" failonerror="false" classpath="${env.APS_HOME}/lib/webtest.jar:${s1astest.classpath}"
classname="com.sun.ejte.ccl.webrunner.webtest.WebTest">
<arg value="script.txt" />
<arg value="${http.host}" />
<arg value="${http.port}" />
<arg value="appserv-tests" />
<arg value="${testsuite.id}" />
</java>
</target>
<!-- prepare Pointbase servers -->
<target name="preparePB" depends="init-common">
<echo message="Starting Pointbase servers" level="verbose" />
<copy file="${env.APS_HOME}/lib/pointbase.ini" tofile="${db.dir}/pointbase.ini" />
<replace file="${db.dir}/pointbase.ini" token="@@@" value="${db.dir}" />
</target>
<!-- start/stop Pointbase servers -->
<target name="startPB" depends="preparePB">
<java classname="com.pointbase.net.netServer" classpath="${db.classpath}" fork="true" spawn="true">
<arg line="/port:9092" />
<arg line="/pointbase.ini=${db.dir}/pointbase.ini" />
<arg line="/noconsole" />
</java>
<java classname="com.pointbase.net.netServer" classpath="${db.classpath}" fork="true" spawn="true">
<arg line="/port:9093" />
<arg line="/pointbase.ini=${db.dir}/pointbase.ini" />
<arg line="/noconsole" />
</java>
</target>
<condition property="aix">
<os name="AIX" />
</condition>
<target name="execute-sleep" if="aix">
<sleep seconds="15" />
</target>
<!-- start Derby Database -->
<target name="startDerby">
<condition property="darwin">
<os name="Mac OS X" />
</condition>
<antcall target="startDerbyNonMac" />
<antcall target="startDerbyMac" />
</target>
<target name="startDerbyNonMac" depends="init-common" unless="darwin">
<echo message="Starting Derby DB servers in the Network Mode on ports ${db.port} and ${db.port.2}" />
<parallel>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
spawn="true">
<arg line="-h localhost -p ${db.port} -noSecurityManager start" />
</java>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
spawn="true">
<arg line="-h localhost -p ${db.port.2} -noSecurityManager start" />
</java>
</parallel>
</target>
<target name="startDerbyMac" depends="init-common" if="darwin">
<echo message="Starting Derby DB servers in the Network Mode on ports ${db.port} and ${db.port.2}" />
<parallel>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
spawn="true">
<sysproperty key="derby.storage.fileSyncTransactionLog" value="true" />
<arg line="-h localhost -p ${db.port} -noSecurityManager start" />
</java>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" fork="true"
spawn="true">
<sysproperty key="derby.storage.fileSyncTransactionLog" value="true" />
<arg line="-h localhost -p ${db.port.2} -noSecurityManager start" />
</java>
</parallel>
</target>
<!-- start Derby Database -->
<target name="stopDerby" depends="init-common">
<echo message="Stopping Derby DB servers on ports ${db.port} and ${db.port.2}" />
<parallel>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" failonerror="true"
fork="true">
<arg line="-h localhost -p ${db.port} shutdown" />
</java>
<java classname="org.apache.derby.drda.NetworkServerControl" classpath="${db.classpath}" failonerror="true"
fork="true">
<arg line="-h localhost -p ${db.port.2} shutdown" />
</java>
</parallel>
</target>
<target name="pb">
<echo message="So you are using pointbase ... !" />
<property file="${env.APS_HOME}/config/pointbase.properties" />
</target>
<!-- setup IMQ for RI Build -->
<target name="setup-mq-common" depends="init-common">
<echo message="Executing Datastore setup for S1MQ. Required only for RI" level="verbose" />
<echo
message="${IMQDBMGR} -javahome ${java.home}
-b ${admin.domain}_${appserver.instance.name} create all"
level="verbose" />
<exec executable="${IMQDBMGR}" failonerror="true">
<arg line="-javahome ${java.home} -b ${admin.domain}_${appserver.instance.name} create all" />
</exec>
</target>
<target name="import-wsdl" depends="init-common">
<mkdir dir="${build.classes.dir}" />
<exec executable="${WSCOMPILE}">
<!-- <arg line="-classpath ${s1astest.classpath}"/> -->
<arg line="-classpath ${build.classes.dir}" />
<arg line="-import" />
<arg line="-source 1.1.2" />
<arg line="-keep" />
<arg line="-d " />
<arg path="${build.classes.dir}" />
<!-- <arg line="-s "/> <arg path="${basedir}/gensource"/> -->
<arg line="-mapping ${build.classes.dir}/${mapping.file}" />
<arg line="${config-wsdl.file}" />
</exec>
</target>
<!-- Confirm Report Generation -->
<target name="checkReporting-common">
<available file="RepRunConf.txt" type="file" property="isReported" />
<antcall target="confirmReportPresent-common" />
<antcall target="confirmMissingReport-common" />
</target>
<target name="confirmReportPresent-common" if="isReported">
<echo message="file RepRunConf.txt is present." />
<echo message="Test seems to be reported fine" />
<delete file="RepRunConf.txt" />
</target>
<target name="confirmMissingReport-common" unless="isReported">
<echo message="file RepRunConf.txt is missing!!!" />
<echo message="Test does not seem to have been reported" />
<echo message="Adding status 'did not run' into report..." />
<java classname="com.sun.ejte.ccl.reporter.ReporterClient">
<classpath>
<pathelement location="${env.APS_HOME}/lib/reporter.jar" />
<pathelement location="." />
</classpath>
<arg value="${test.name}" />
<arg value="${test.description}" />
<arg value="${test.count}" />
</java>
<delete file="RepRunConf.txt" />
</target>
<!-- usage -->
<target name="usage-common">
<echo>
ant clean Remove all classes files
ant build Build the application
ant deploy Deploy the ear files to S1AS
ant run Run the application
ant undeploy Undeploy the ear files from S1AS
ant usage Display this message
</echo>
</target>
<!-- EE Targets 8.1 -->
<!--Added Feb 5th 2004 by Deepa Singh -->
<target name="ee" depends="ee-common">
<echo message="So you are using Enterprise Edition" />
<property name="ee" value="Enterprise Edition" />
<property file="${env.APS_HOME}/eeconfig/ee-config.properties" />
<loadfile property="target-server-port"
srcFile="${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml" />
<condition property="orbPortSet" value="true">
<contains string="${target-server-port}" substring="${orb.port}" />
</condition>
<antcall target="change-orb-port" />
</target>
<target name="change-orb-port" unless="orbPortSet">
<echo message="changing orb port from the default [3700] to ${orb.port}"/>
<replace file="${admin.domain.dir}/${admin.domain}/config/glassfish-acc.xml" token="3700" value="${orb.port}"/>
</target>
<target name="restart-instance">
<echo message="Restarting remote server instance,until this gets fixed"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="stop-instance"/>
<arg line="${as.props}"/>
<arg line="${appserver.instance.name}"/>
</exec>
<sleep seconds="30"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="start-instance"/>
<arg line="${as.props}"/>
<arg line="${appserver.instance.name}"/>
</exec>
</target>
<target name="testTimer" depends="init-common">
<echo message="creating timer table from ${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"/>
<sql
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"
onerror="continue"
print="yes"
classpath="${s1astest.classpath}"/>
</target>
<target name="setupTimer" depends="init-common" if="ee">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-resource-ref"/>
<arg line="${as.props}"/>
<arg line="--target server"/>
<arg line="${jdbc.resource.name}"/>
</exec>
<antcall target="asadmin-common-ignore-fail">
<param name="admin.command" value="set" />
<param name="operand.props"
value="${appserver.instance.name}-config.ejb-container.ejb-timer-service.timer-datasource=${jdbc.resource.name}"/>
</antcall>
<echo message="creating timer table from ${env.APS_HOME}/lib/ejbtimer_{db.type}.sql"/>
<sql
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="${env.APS_HOME}/lib/ejbtimer_${db.type}.sql"
onerror="continue"
print="yes"
classpath="${s1astest.classpath}"/>
<antcall target="restart-instance"/>
</target>
<target name="unsetupTimer" depends="init-common" if="ee">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-resource-ref"/>
<arg line="${as.props}"/>
<arg line="--target server"/>
<arg line="${jdbc.resource.name}"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="unset"/>
<arg line="${appserver.instance.name}-config.ejb-container.ejb-timer-service.timer-datasource"/>
</exec>
<echo message="dropping timer table from ${env.APS_HOME}/lib/ejbtimer_${db.type}_drop.sql"/>
<sql
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="${env.APS_HOME}/lib/ejbtimer_${db.type}_drop.sql"
onerror="continue"
print="yes"
classpath="${s1astest.classpath}"/>
</target>
<target name="prepare-truststore-common" depends="init-common">
<property name="truststore.db.file" location="${build.base.dir}/cacerts.jks"/>
<property name="cert.rfc.file" location="${build.base.dir}/${cert.nickname}.rfc"/>
<delete quiet="true" file="${truststore.db.file}"/>
<delete quiet="true" file="${cert.rfc.file}"/>
<!--
Determine if we need to use the certutil or the keytool command to
access the certificate keystore
-->
<property name="certutil.db.dir" location="${admin.domain.dir}/${admin.domain}/config"/>
<condition property="use.certutil">
<and>
<or>
<available file="${env.S1AS_HOME}/lib/certutil"/>
<available file="${env.S1AS_HOME}/lib/certutil.exe"/>
</or>
<available file="${certutil.db.dir}/cert8.db"/>
<available file="${certutil.db.dir}/key3.db"/>
<available file="${certutil.db.dir}/secmod.db"/>
</and>
</condition>
<antcall target="prepare-truststore-certutil-common"/>
<antcall target="prepare-truststore-keytool-common"/>
</target>
<target name="prepare-truststore-certutil-common" depends="init-common" if="use.certutil">
<exec executable="${env.S1AS_HOME}/lib/certutil" failonerror="true" output="${cert.rfc.file}">
<!--
LD_LIBRARY_PATH is needed on Unix platforms and should have no
effect on Windows
-->
<env key="LD_LIBRARY_PATH" path="${env.S1AS_HOME}/lib"/>
<arg line="-L -n '${cert.nickname}' -a"/>
<arg value="-d"/>
<arg file="${certutil.db.dir}"/>
</exec>
<exec executable="${java.home}/bin/keytool" failonerror="true">
<arg line="-import -trustcacerts -alias '${cert.nickname}' -storepass '${ssl.password}' -noprompt"/>
<arg value="-file"/>
<arg file="${cert.rfc.file}"/>
<arg value="-keystore"/>
<arg file="${truststore.db.file}"/>
</exec>
</target>
<target name="prepare-truststore-keytool-common" depends="init-common" unless="use.certutil">
<copy file="${admin.domain.dir}/${admin.domain}/config/cacerts.jks" tofile="${truststore.db.file}"/>
</target>
<target name="prepare-keystore-common" depends="init-common">
<property name="keystore.db.file" location="${build.base.dir}/keystore.jks"/>
<delete quiet="true" file="${keystore.db.file}"/>
<copy file="${admin.domain.dir}/${admin.domain}/config/keystore.jks" tofile="${keystore.db.file}" failonerror="false"/>
</target>
<target name="get-version-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false" outputproperty="appserver.version">
<arg line="version"/>
<arg line="${as.props}"/>
<arg line="--verbose"/>
</exec>
<condition property="platform" value="true">
<contains string="${appserver.version}" substring="Platform" casesensitive="false"/>
</condition>
<condition property="enterprise" value="true">
<contains string="${appserver.version}" substring="Enterprise" casesensitive="false"/>
</condition>
<antcall target="platform-common"/>
<antcall target="enterprise-common"/>
</target>
<target name="platform-common" if="platform">
<echo message="This is Platform Version***"/>
</target>
<target name="enterprise-common" if="enterprise">
<echo message="This is Enterprise Version***"/>
</target>
<target name="create-PermSize" depends="init-common">
<echo message="asadmin create-jvm-options ${as.props} -- -XX:MaxPermSize=${jvm.maxpermsize}"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-jvm-options"/>
<arg line="${as.props}"/>
<arg line="--target ${appserver.instance.name}"/>
<arg line="-- -XX\:MaxPermSize=${jvm.maxpermsize}"/>
</exec>
</target>
<target name="restart-server">
<antcall target="stop-server" />
<sleep seconds="5" />
<antcall target="start-server" />
</target>
<target name="stop-server" depends="setOSConditions">
<antcall target="stop-server-unix" />
<antcall target="stop-server-windows" />
</target>
<target name="stop-server-unix" if="isUnix">
<echo message="stopping server on unix ..." />
<exec executable="${env.S1AS_HOME}/bin/asadmin">
<arg value="stop-domain" />
</exec>
<sleep seconds="10" />
</target>
<target name="stop-server-windows" if="isWindows">
<echo message="Stopping server on windows ..." />
<exec executable="cmd">
<arg value="/c" />
<arg value="${env.S1AS_HOME}\bin\asadmin.bat" />
<arg value="stop-domain" />
</exec>
<sleep seconds="5" />
</target>
<target name="start-server" depends="setOSConditions">
<echo>+-----------------------------+</echo>
<echo>| |</echo>
<echo>| S T A R T I N G GLASSFISH |</echo>
<echo>| in Felix mode |</echo>
<echo>| |</echo>
<echo>+-----------------------------+</echo>
<antcall target="start-server-unix"/>
<antcall target="start-server-windows"/>
</target>
<target name="start-server-unix" if="isUnix">
<exec executable="${env.S1AS_HOME}/bin/asadmin">
<env key="GlassFish_Platform" value="Felix" />
<arg value="start-domain" />
</exec>
<sleep seconds="10" />
</target>
<target name="start-server-windows" if="isWindows">
<exec executable="cmd" spawn="true">
<env key="GlassFish_Platform" value="Felix" />
<arg value="/c" />
<arg value="${env.S1AS_HOME}\bin\asadmin.bat" />
<arg value="start-domain" />
</exec>
<sleep seconds="5" />
</target>
<target name="create-jvm-options" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="create-jvm-options" />
<arg line="--user ${admin.user} --host ${admin.host} --port ${admin.port} --echo=true --terse=true" />
<arg line="${option}" />
</exec>
<echo message="REQUIRED TO RESTART SERVER......." />
</target>
<target name="delete-jvm-options" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="delete-jvm-options" />
<arg line="--user ${admin.user} --host ${admin.host} --port ${admin.port} --echo=true --terse=true" />
<arg line="${option}" />
</exec>
<echo message="REQUIRED TO RESTART SERVER......." />
</target>
<!-- ================================================================ -->
<!-- Target to Flush connection pool -->
<!-- ================================================================ -->
<target name="flush-connpool-common" depends="init-common">
<echo message="Flush connection pool ${jdbc.conpool.name}" level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="flush-connection-pool" />
<arg line="${as.props}" />
<arg line="${jdbc.conpool.name}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to create password alias -->
<!-- ================================================================ -->
<target name="create-password-alias" depends="init-common">
<echo message="Create Password Alias ${alias.name}" level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-password-alias" />
<arg line="--passwordfile " />
<arg line="${password.alias.file}" />
<arg line="${password.alias.name}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to delete password alias -->
<!-- ================================================================ -->
<target name="delete-password-alias" depends="init-common">
<echo message="delete Password Alias ${password.alias.name}" level="verbose" />
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-password-alias" />
<arg line="${password.alias.name}" />
</exec>
</target>
<!-- ================================================================ -->
<!-- Target to generate a neat Html report -->
<!-- ================================================================ -->
<target name="dev-report" depends="init-common">
<java classname="com.sun.appserv.test.util.results.HtmlReportProducer" fork="true" failonerror="false"
classpath="${env.APS_HOME}/lib/reportbuilder.jar">
<arg value="${env.APS_HOME}/test_results.xml" />
</java>
</target>