blob: fd4ea06f2652426302697d87debaeeebe4d56539 [file] [log] [blame]
<!--
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
-->
<property environment="env"/>
<!--
<property file="web-common.properties"/>
-->
<property name="com.sun.aas.pointbaseRoot"
value="${env.S1AS_HOME}/pointbase"/>
<property name="com.sun.aas.webServicesLib" value="${env.S1AS_HOME}"/>
<property name="com.sun.aas.imqLib" value="${env.S1AS_HOME}"/>
<property name="com.sun.aas.installRoot" value="${env.S1AS_HOME}"/>
<property name="com.sun.aas.javaRoot" value="${env.JAVA_HOME}"/>
<property name="resources.dottedname.prefix" value="domain.resources"/>
<property name="sunone.instance" value="server1"/>
<property name="sunone.instance.port" value="80"/>
<property name="earDD" value="application.xml,sun-application.xml"/>
<property name="warDD" value="sun-web.xml,web.xml"/>
<property name="jarDD" value="ejb-jar.xml,sun-ejb-jar.xml"/>
<property name="clientDD"
value="application-client.xml,sun-application-client.xml"/>
<!-- change this property to use a compiler other than javac. -->
<property name="build.compiler" value="modern"/>
<!-- Source file location. -->
<property name="src" value="."/>
<property name="src.docroot" value="${src}/docroot"/>
<!-- Destination directory for the build and assembly targets -->
<property name="build" value="../build"/>
<property name="build.docdir" value="../javadocs/"/>
<property name="build.classesdir" value="${build}/classes"/>
<property name="assemble" value="../assemble"/>
<property name="assemble.jar" value="${assemble}/jar"/>
<property name="assemble.ejbjar" value="${assemble}/jar"/>
<property name="assemble.war" value="${assemble}/war"/>
<property name="assemble.ear" value="${assemble}/ear"/>
<property name="assemble.clientjar" value="${assemble}/client"/>
<!-- Target file Names. -->
<property name="ear" value="${appname}.ear"/>
<property name="war" value="${appname}.war"/>
<property name="jar" value="${appname}.jar"/>
<property name="ejbjar" value="${appname}Ejb.jar"/>
<property name="clientjar" value="${appname}Client.jar"/>
<property name="verify.file" value="../${ear}"/>
<property name="deploy.file" value="../${ear}"/>
<!-- application type -->
<property name="apptype" value="application"/>
<!-- classpath jar files location. -->
<property name="sample.classpath.dir"
value="${com.sun.aas.installRoot}/lib"/>
<property name="optional.taskdef.jar" value="sun-appserv-ant.jar"/>
<!-- pointbase properties -->
<property name="db.driver" value="com.pointbase.jdbc.jdbcUniversalDriver"/>
<property name="db.root" value="${com.sun.aas.pointbaseRoot}"/>
<property name="db.url" value="jdbc:pointbase:server://localhost/sqe-samples"/>
<property name="db.classpath" value="${db.root}/client_tools/lib/pbtools42RE.jar;${db.root}/client_tools/lib/pbclient42RE.jar"/>
<!-- ======================================================= -->
<!-- Read/Set properties. -->
<!-- ======================================================= -->
<target name="init_common" depends="build_cpath">
<!-- define these properties if samples dont define -->
<property name="classpath.prefix" value="."/>
<property name="classpath.suffix" value="."/>
<property name="build.classpath"
value="${classpath.prefix}:${build.classesdir}:${sunone.cpath}:${classpath.suffix}:${env.APS_HOME}/lib/reporter.jar"/>
</target>
<target name="build_cpath" unless="sunone.cpath">
<path id="sample_classpath_jars">
<fileset dir="${com.sun.aas.installRoot}/lib" includes="*.jar" />
<fileset dir="${com.sun.aas.webServicesLib}" includes="*.jar"/>
</path>
<pathconvert pathsep=":" property="sunone.cpath"
refid="sample_classpath_jars"/>
</target>
<target name="setup_env" depends="init_common">
<property name="admin.host" value="${admin.host}"/>
<property name="admin.port" value="${admin.port}"/>
<property name="admin.user" value="${admin.user}"/>
<property name="admin.password" value="${admin.password}"/>
<property name="admin.instance" value="${admin.instance}"/>
</target>
<target name="compile_common" depends="init_common">
<mkdir dir="${build.classesdir}"/>
<echo message="Compiling source files" />
<javac srcdir="."
destdir="${build.classesdir}"
classpath="${build.classpath}"/>
</target>
<target name="compile_jsp_common" depends="create_war_common">
<echo message="Compiling JSP(s)"/>
<mkdir dir="${assemble.war}/WEB-INF/generated"/>
<sun-appserv-jspc
webapp="${assemble.war}"
destdir="${assemble.war}/WEB-INF/generated"
classpath="${assemble.war}/WEB-INF/classes:${com.sun.aas.installRoot}/lib/appserv-rt.jar:${com.sun.aas.installRoot}/lib/j2ee.jar:${com.sun.aas.installRoot}/lib/appserv-ext.jar"/>
<javac
srcdir="${assemble.war}/WEB-INF/generated"
destdir="${assemble.war}/WEB-INF/generated"
debug="on"
classpath="${assemble.war}/WEB-INF/classes:${com.sun.aas.installRoot}/lib/appserv-rt.jar:${com.sun.aas.installRoot}/lib/j2ee.jar:${com.sun.aas.installRoot}/lib/appserv-ext.jar">
<include name="**/*.java"/>
</javac>
</target>
<target name="clean_clientjar_common">
<delete dir="${assemble.clientjar}"/>
<delete file="../${clientjar}"/>
</target>
<target name="clean_ear_common">
<delete dir="${assemble.ear}"/>
<delete file="../${ear}"/>
</target>
<target name="clean_war_common">
<delete dir="${assemble.war}"/>
<delete file="../${war}"/>
</target>
<target name="clean_ejbjar_common">
<delete dir="${assemble.ejbjar}"/>
<delete file="../${ejbjar}"/>
</target>
<target name="clean_jar_common">
<delete dir="${assemble.jar}"/>
<delete file="../${jar}"/>
</target>
<target name="clean_common" >
<delete dir="${build}"/>
<delete dir="${build.docdir}"/>
<delete dir="${assemble}"/>
</target>
<!-- ======================================================= -->
<!-- Assemble WAR module. -->
<!-- ======================================================= -->
<target name="check_warfile">
<available file="${build.classesdir}/${war.pkg}/" type="dir"
property="warfiles.present"/>
<available file="${src}/docroot" type="dir"
property="docroot.present"/>
</target>
<target name="copy_warfiles" if="warfiles.present">
<copy todir="${assemble.war}/WEB-INF/classes/${war.pkg}">
<fileset dir="${build.classesdir}/${war.pkg}/" includes="**/*.class"/>
</copy>
</target>
<target name="copy_docroot" if="docroot.present">
<copy todir="${assemble.war}">
<fileset dir="${src.docroot}" excludes="cvs,annontation"/>
</copy>
</target>
<target name="copy_ejbjar_war" if="ejbjar.done">
<copy file="${assemble.ejbjar}/${ejbjar}"
tofile="${assemble.war}/WEB-INF/lib/${ejbjar}"/>
</target>
<target name="create_war_common"
depends="clean_war_common,check_warfile,copy_docroot,copy_warfiles,copy_ejbjar_war">
<mkdir dir="${assemble.war}"/>
<copy todir="${assemble.war}/WEB-INF/">
<fileset dir="." includes="${warDD}"/>
</copy>
<jar jarfile="../${war}"
basedir="${assemble.war}" />
<move file="../${war}" todir="${assemble.war}"/>
<copy file="${assemble.war}/${war}" tofile="../${war}"/>
<property name="war.done" value="true"/>
</target>
<target name="mkdir_ear">
<mkdir dir="${assemble.ear}/META-INF"/>
</target>
<target name="copy_ejbjar" if="ejbjar.done">
<copy file="${assemble.ejbjar}/${ejbjar}"
tofile="${assemble.ear}/${ejbjar}"/>
</target>
<target name="copy_war" if="war.done">
<copy file="${assemble.war}/${war}" tofile="${assemble.ear}/${war}"/>
</target>
<target name="copy_clientjar" if="clientjar.done">
<copy file="${assemble.clientjar}/${clientjar}"
tofile="${assemble.ear}/${clientjar}"/>
</target>
<target name="create_ear_common" depends="clean_ear_common,mkdir_ear,copy_ejbjar,copy_clientjar,copy_war">
<copy todir="${assemble.ear}/META-INF/">
<fileset dir="." includes="${earDD}"/>
</copy>
<echo message="Copying reporter.jar from ${env.APS_HOME}/lib"/>
<copy todir="${assemble.ear}">
<fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
</copy>
<jar jarfile="${assemble.ear}/${ear}"
basedir="${assemble.ear}" excludes="**/*.ear"/>
<!--<fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
</jar>-->
<delete file="${assemble.ear}/${war}" />
<delete file="${assemble.ear}/${ejbjar}" />
<delete file="${assemble.ear}/${clientjar}" />
<delete file="${assemble.ear}/reporter.jar" />
<delete file="../${war}" />
<delete file="../${ejbjar}" />
<delete file="../${clientjar}" />
<copy file="${assemble.ear}/${ear}" tofile="../${ear}"/>
</target>
<target name="create_ejbjar_common" depends="clean_ejbjar_common">
<mkdir dir="${assemble.ejbjar}"/>
<copy todir="${assemble.ejbjar}/${jar.pkg}">
<fileset dir="${build.classesdir}/${jar.pkg}/" includes="**/*.class" excludes="**/servlet/, **/client/"/>
</copy>
<mkdir dir="${assemble.ejbjar}/META-INF"/>
<copy todir="${assemble.ejbjar}/META-INF/">
<fileset dir="." includes="${jarDD}"/>
</copy>
<jar jarfile="../${ejbjar}"
basedir="${assemble.ejbjar}" />
<move file="../${ejbjar}" todir="${assemble.ejbjar}"/>
<copy file="${assemble.ejbjar}/${ejbjar}" tofile="../${ejbjar}"/>
<property name="ejbjar.done" value="true"/>
</target>
<target name="clientjar_common" depends="clean_clientjar_common">
<mkdir dir="${assemble.clientjar}"/>
<copy todir="${assemble.clientjar}/${app.pkg}">
<fileset dir="${build.classesdir}/${app.pkg}/"
includes="**/*Client.class" excludes="**/servlet/"/>
</copy>
<mkdir dir="${assemble.clientjar}/META-INF"/>
<copy todir="${assemble.clientjar}/META-INF/">
<fileset dir="." includes="${clientDD}"/>
</copy>
<jar jarfile="../${clientjar}"
basedir="${assemble.clientjar}"
manifest="MANIFEST.MF"/>
<move file="../${clientjar}" todir="${assemble.clientjar}"/>
<property name="clientjar.done" value="true"/>
</target>
<target name="create_jar_common" depends="clean_jar_common">
<mkdir dir="${assemble.jar}"/>
<copy todir="${assemble.jar}/${app.pkg}">
<fileset dir="${build.classesdir}/${app.pkg}/"
includes="**/*.class"/>
</copy>
<jar jarfile="../${jar}"
basedir="${assemble.jar}" />
<move file="../${jar}" todir="${assemble.jar}"/>
<copy file="${assemble.jar}/${jar}" tofile="../${jar}"/>
</target>
<target name="deploy_common" depends="init-common">
<echo message="Deploying ${deploy.file}."/>
<echo message="Deploying ${appname}."/>
<exec executable="${ASADMIN}">
<arg line="deploy"/>
<arg line="${as.props}"/>
<arg line="--name ${appname} --type ${apptype}"/>
<arg line="--retrieve ${assemble}"/>
<arg line="--instance ${appserver.instance.name}"/>
<arg line="${deploy.file}"/>
</exec>
</target>
<target name="runclient_common" depends="init-common">
<exec executable="${APPCLIENT}">
<env key="VMARGS"
value="-Dtest.results=${env.APS_HOME}/test_results.xml"/>
<arg line="-client ${assemble}/${appname}Client.jar"/>
<arg line="-name ${display_name}"/>
<arg line="-textauth"/>
<arg line="-user j2ee"/>
<arg line="-password j2ee"/>
</exec>
</target>
<!-- ======================================================= -->
<!-- FileRealm key generaion targets. -->
<!-- ======================================================= -->
<target name="keygen_common" depends="setup_env,init-common">
<echo message="Generating key for user ${app.user} in server ${sunone.instance}"/>
<antcall target="create-user-common">
<param name="groups" value="${app.groups}"/>
<param name="password" value="${app.userpassword}"/>
<param name="user" value="${app.user}"/>
</antcall>
</target>
<target name="keydel_common" depends="setup_env,init-common">
<antcall target="delete-user-common">
<param name="user" value="${app.user}"/>
</antcall>
</target>
<!-- ======================================================= -->
<!-- Install targets. -->
<!-- ======================================================= -->
<target name="deploy_jsp_common" depends="setup_env,init-common">
<echo message="Deploying ${deploy.file}."/>
<exec executable="${ASADMIN}">
<arg line="deploy"/>
<arg line="${as.props}"/>
<arg line="--type ${apptype}"/>
<arg line="--precompiledjsp true"/>
<arg line="--upload true"/>
<arg line="--retrieve ${assemble.dir}"/>
<arg line="--instance ${appserver.instance.name}"/>
</exec>
</target>
<!-- ======================================================= -->
<!-- Uninstall targets. -->
<!-- ======================================================= -->
<target name="undeploy_common" depends="init-common, setup_env">
<echo message="Undeploying ${appname}."/>
<exec executable="${ASADMIN}">
<arg line="undeploy"/>
<arg line="${as.props}"/>
<arg line="--type ${apptype}"/>
<arg line="--instance ${appserver.instance.name}"/>
<arg line="${appname}"/>
</exec>
</target>
<!-- ======================================================= -->
<!-- Admin targets. -->
<!-- ======================================================= -->
<target name="admin_command_common" depends="init-common,setup_env">
<echo message="Doing admin task ${admin.command}"/>
<echo message="Operand ${operand.props}"/>
<exec executable="${ASADMIN}">
<arg line="${admin.command} ${as.props} ${operand.props}" />
</exec>
</target>
<target name="reconfig_common" depends="setup_env">
<echo message="Reconfiguring server ${sunone.instance}"/>
<antcall target="reconfig-common"/>
</target>
<target name="javadocs_common" depends="init_common">
</target>
<target name="verify_common" depends="init_common">
<echo message="Verifying Process for ${verify.file}" />
</target>
<!-- ======================================================= -->
<!-- CleanUp Pointbase table Targets. -->
<!-- ======================================================= -->
<target name="sql_common" depends="init-common">
<java classname="com.pointbase.tools.toolsCommander"
classpath="${db.classpath}"
fork="true"
>
<arg line="${db.driver} ${db.url} ${db.file} ${db.user} ${db.pwd}" />
</java>
<!-- <sql driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
src="${db.file}"
onerror="continue"
print="yes"
output="setupDBTables.out"
classpath="${db.classpath}"/>-->
</target>
<!-- ======================================================= -->
<!-- Targets to deploy/undeploy resources. -->
<!-- ======================================================= -->
<target name="create-jdbc-connection-pool_common">
<property name="db.host" value="localhost"/>
<property name="db.port" value="9092"/>
<property name="db.sid" value="sqe-samples"/>
<property name="db.url" value="jdbc:pointbase:server://${db.host}:${db.port}/${db.sid}"/>
<property name="url.prop" value="DatabaseName" />
<property name="ds.class" value="com.pointbase.jdbc.jdbcDataSource" />
<antcall target="admin_command_common">
<param name="admin.command"
value="create-jdbc-connection-pool
--datasourceclassname ${ds.class}
--instance ${sunone.instance}" />
<param name="operand.props"
value="${conpool.name}" />
</antcall>
<antcall target="admin_command_common">
<param name="admin.command"
value="set " />
<param name="operand.props"
value="${sunone.instance}.jdbc-connection-pool.${conpool.name}.property.${url.prop}=${db.url}" />
</antcall>
<antcall target="admin_command_common">
<param name="admin.command"
value="set" />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${conpool.name}.property.User=${db.user}" />
</antcall>
<antcall target="admin_command_common">
<param name="admin.command"
value="set " />
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.${conpool.name}.property.Password=${db.pwd}" />
</antcall>
</target>
<target name="create-jdbc-resource_common">
<antcall target="admin_command_common">
<param name="admin.command"
value="create-jdbc-resource
--connectionpoolid ${conpool.name}
--instance ${sunone.instance}" />
<param name="operand.props"
value="${jdbc.resource.name}" />
</antcall>
</target>
<target name="delete-jdbc-connection-pool_common">
<antcall target="admin_command_common">
<param name="admin.command"
value="delete-jdbc-connection-pool
--instance ${sunone.instance}" />
<param name="operand.props"
value="${conpool.name}" />
</antcall>
</target>
<target name="delete-jdbc-resource_common">
<antcall target="admin_command_common">
<param name="admin.command"
value="delete-jdbc-resource
--instance ${sunone.instance}" />
<param name="operand.props"
value="${jdbc.resource.name}" />
</antcall>
</target>
<target name="deploy_jdbc_resource_pb_common" depends="setup_env">
<antcall target="create-jdbc-connection-pool_common"/>
<antcall target="create-jdbc-resource_common"/>
<antcall target="reconfig_common"/>
</target>
<target name="deploy_jdbc_resource_ora_common" depends="setup_env">
<property name="db.host" value="localhost"/>
<property name="db.port" value="1521"/>
<property name="db.sid" value="sqe-samples"/>
<property name="url.prop" value="url" />
<property name="ds.class" value="oracle.jdbc.pool.OracleDataSource" />
<antcall target="create-jdbc-connection-pool_common">
<param name="db.url" value="jdbc:oracle:thin:@${db.host}:${db.port}:${db.sid}" />
</antcall>
<antcall target="create-jdbc-resource_common"/>
<antcall target="reconfig_common"/>
</target>
<target name="create-persistence-resource_common" depends="setup_env">
<antcall target="admin_command_common">
<param name="admin.command"
value="create-persistence-resource
--instance ${sunone.instance}" />
<param name="operand.props"
value="${pm.resource.name}" />
</antcall>
<antcall target="admin_command_common">
<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="admin_command_common">
<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 name="delete-persistence-resource_common" depends="setup_env">
<antcall target="admin_command_common">
<param name="admin.command"
value="delete-persistence-resource
--instance ${sunone.instance}" />
<param name="operand.props"
value="${pm.resource.name}" />
</antcall>
</target>