blob: 1ef8f69098796f1594d8629a6a889b761def6a46 [file] [log] [blame]
<!--
Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!--
This is the top level persistence build file that should be
imported into all the leaf level persistence build files
-->
<!--
-Ddatabase.properties option can be passed to the ant target to run the persistence
tests with various databases. Test loads derby.properties as default if no database
is specified.
-->
<property name="database.properties" value="${env.APS_HOME}/devtests/persistence/config/derby.properties" />
<property file="${database.properties}" />
<!--
-Dpersistence.provider option can be passed to the ant target to run the persistence
tests with various providers. Test loads eclipselink as default if no provider
is specified.
-->
<property name="persistence.provider" value="org.eclipse.persistence.jpa.PersistenceProvider" />
<!--
oracle-setup target is defined for copying the oracle drivers to the appserver lib
dir.
-->
<target name="database-setup" depends="init-common">
<echo message="So you are using oracle..!"/>
<antcall target="copyDrivers">
<param name="db.driver.dir" value="${db.driver.dir}"/>
<param name="db.driver" value="${db.driver}"/>
</antcall>
</target>
<target name="copyDrivers" depends="init-common">
<echo message="db.driver.dir=${db.driver.dir}"/>
<echo message="db.driver=${db.driver}"/>
<copy todir="${admin.domain.dir}/${admin.domain}/lib/ext"
overwrite="true" failonerror="false">
<fileset dir="${db.driver.dir}" includes="**/*.jar"/>
</copy>
<antcall target="restart-server-instance-common"/>
</target>
<!-- ================================================================ -->
<!-- Target to create JDBC connection pool -->
<!-- ================================================================ -->
<target name="create-jdbc-persistence-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="--target ${appserver.instance.name}"/>
<arg line="${as.props}"/>
<arg line="--property ${db.driver.props}"/>
<arg line="${jdbc.conpool.name}"/>
</exec>
</target>
<!-- ===== package PU ===== -->
<target name="package-pu-common" depends="init-common">
<echo message="${build.classes.dir}, ${assemble.dir}, ${persistence.xml}"/>
<mkdir dir="${assemble.dir}"/>
<delete file="${entity.jar}" failonerror="false"/>
<mkdir dir="${build.classes.dir}/META-INF"/>
<copy file="${persistence.xml}" tofile="${build.classes.dir}/META-INF/persistence.xml" failonerror="false"/>
<jar jarfile="${assemble.dir}/${entity.jar}" basedir="${build.classes.dir}" update="true" includes = "${entityjar.classes}">
<metainf dir="${build.classes.dir}/META-INF">
<include name="**/*.xml"/>
</metainf>
</jar>
<delete dir="${build.classes.dir}/META-INF" failonerror="false"/>
</target>
<!-- ===== package entity classes without PU ===== -->
<target name="package-entity-common" depends="init-common">
<echo message="${build.classes.dir}, ${assemble.dir}, ${persistence.xml}"/>
<mkdir dir="${assemble.dir}"/>
<delete file="${entity.jar}" failonerror="false"/>
<mkdir dir="${build.classes.dir}/META-INF"/>
<jar jarfile="${assemble.dir}/${entity.jar}" basedir="${build.classes.dir}" update="true" includes = "${entity.class}">
<metainf dir="${build.classes.dir}/META-INF">
<include name="**/*.xml"/>
</metainf>
</jar>
<echo message="----GENERATED----${build.classes.dir}/${entity.jar}" />
<delete dir="${build.classes.dir}/META-INF" failonerror="false"/>
</target>
<!-- ===== package PU under ear/lib===== -->
<target name="build-entity-earlib" depends="fixFiles,ejb-jar-common,appclient-jar-common,webclient-war-common">
<delete file="${assemble.dir}/${appname}.ear"/>
<mkdir dir="${build.classes.dir}/META-INF"/>
<mkdir dir="${assemble.dir}/lib"/>
<move file="${assemble.dir}/entity.jar" todir="${assemble.dir}/lib"/>
<copy file="${application.xml}"
tofile="${build.classes.dir}/META-INF/application.xml"
failonerror="false"/>
<copy file="${glassfish-resources.xml}"
tofile="${build.classes.dir}/META-INF/glassfish-resources.xml"
failonerror="false"/>
<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/application.xml"/>
<include name="META-INF/glassfish-resources.xml"/>
</fileset>
<fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
</jar>
</target>
<!-- ===== build ear file ===== -->
<target name="build-ear-persistence" depends="fixFiles,webclient-war-common">
<delete file="${assemble.dir}/${appname}.ear"/>
<mkdir dir="${assemble.dir}"/>
<mkdir dir="${build.classes.dir}/META-INF"/>
<copy file="${application.xml}" tofile="${build.classes.dir}/META-INF/application.xml" failonerror="false"/>
<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"/>
</fileset>
<fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
</jar>
</target>
<!-- ear file with webclient, and without appclient -->
<target name="build-pkg-ear"
depends="fixFiles,ejb-jar-common,webclient-war-local">
<delete file="${assemble.dir}/${appname}.ear"/>
<mkdir dir="${assemble.dir}/lib"/>
<move file="${assemble.dir}/entity.jar" todir="${assemble.dir}/lib"/>
<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="${application.xml}"
tofile="${build.classes.dir}/META-INF/application.xml"
failonerror="false"/>
<jar jarfile="${assemble.dir}/${appname}App.ear">
<fileset dir="${assemble.dir}">
<include name="*.jar"/>
<include name="*.war"/>
<include name="lib/*.jar"/>
</fileset>
<fileset dir="${build.classes.dir}">
<include name="META-INF/sun-application.xml"/>
<include name="META-INF/application.xml"/>
</fileset>
</jar>
</target>
<!-- ear file with webclient, and without ejb/appclient -->
<target name="build-pu-ear"
depends="fixFiles,webclient-pu-war">
<delete file="${assemble.dir}/${appname}.ear"/>
<mkdir dir="${assemble.dir}"/>
<mkdir dir="${assemble.dir}/lib"/>
<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="${application.xml}"
tofile="${build.classes.dir}/META-INF/application.xml"
failonerror="false"/>
<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"/>
</fileset>
</jar>
</target>
<!-- make a war file with pu as WEB-INF/classes -->
<target name="webclient-pu-war"
if="hasWebclient" depends="init-common">
<mkdir dir="${assemble.dir}"/>
<antcall target="package-pu-war">
<param name="war.file" value="${assemble.dir}/${appname}-web.war"/>
</antcall>
</target>
<!-- make a war file with pu as WEB-INF/lib -->
<target name="webclient-pu-warlib"
if="hasWebclient" depends="init-common">
<mkdir dir="${assemble.dir}"/>
<antcall target="package-pu-warlib">
<param name="war.file" value="${assemble.dir}/${appname}-web.war"/>
</antcall>
</target>
<!-- Build war file -->
<target name="webclient-war-local"
if="hasWebclient" depends="init-common">
<mkdir dir="${assemble.dir}"/>
<antcall target="package-war-local">
<param name="war.file" value="${assemble.dir}/${appname}-web.war"/>
</antcall>
</target>
<!-- Build war file -->
<target name="package-war-local">
<echo message="my build classes dir is:${build.classes.dir}"/>
<delete file="${war.file}"/>
<mkdir dir="${build.classes.dir}/WEB-INF/classes"/>
<echo message="webclient.war.classes=${webclient.war.classes}"/>
<copy file="${web.xml}"
tofile="${build.classes.dir}/WEB-INF/web.xml"/>
<copy todir="${build.classes.dir}/WEB-INF/classes">
<fileset dir="${build.classes.dir}">
<include name="${webclient.war.classes}"/>
</fileset>
</copy>
<jar jarfile="${war.file}" basedir="${build.classes.dir}"
update="true" includes ="WEB-INF/classes/**">
<fileset dir="${basedir}/docroot" casesensitive="yes">
<include name="*.html"/>
<include name="*.jsp"/>
<include name="*.gif"/>
<include name="*.do"/>
</fileset>
<fileset dir="${build.classes.dir}" casesensitive="true">
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<echo message="created war file ${war.file}"/>
<delete dir="${build.classes.dir}/WEB-INF" failonerror="false"/>
<echo message="my webclient war classes are:${webclient.war.classes}"/>
</target>
<!-- package pu under WEB-INF/classes -->
<target name="package-pu-war" depends="init-common">
<echo message="my build classes dir is:${build.classes.dir}"/>
<delete file="${war.file}"/>
<mkdir dir="${build.classes.dir}/WEB-INF/classes"/>
<echo message="webclient.war.classes=${webclient.war.classes}"/>
<copy file="${web.xml}"
tofile="${build.classes.dir}/WEB-INF/web.xml"/>
<mkdir dir="${build.classes.dir}/WEB-INF/classes/META-INF"/>
<copy file="${persistence.xml}"
tofile="${build.classes.dir}/WEB-INF/classes/META-INF/persistence.xml"/>
<copy todir="${build.classes.dir}/WEB-INF/classes">
<fileset dir="${build.classes.dir}">
<include name="**/*.class"/>
</fileset>
</copy>
<jar jarfile="${war.file}" basedir="${build.classes.dir}"
update="true" includes ="WEB-INF/classes/**">
<fileset dir="${basedir}/docroot" casesensitive="yes">
<include name="*.html"/>
<include name="*.jsp"/>
<include name="*.gif"/>
<include name="*.do"/>
</fileset>
<fileset dir="${build.classes.dir}" casesensitive="true">
<include name="WEB-INF/web.xml"/>
</fileset>
<fileset dir="${build.classes.dir}" casesensitive="true">
<include name="WEB-INF/classes/META-INF/persistence.xml"/>
</fileset>
</jar>
<echo message="created war file ${war.file}"/>
<delete dir="${build.classes.dir}/WEB-INF" failonerror="false"/>
<echo message="my webclient war classes are:${webclient.war.classes}"/>
</target>
<!-- package pu under WEB-INF/lib -->
<target name="package-pu-warlib" depends="init-common">
<echo message="my build classes dir is:${build.classes.dir}"/>
<delete file="${war.file}"/>
<mkdir dir="${build.classes.dir}/WEB-INF/classes"/>
<mkdir dir="${build.classes.dir}/WEB-INF/lib"/>
<echo message="webclient.war.classes=${webclient.war.classes}"/>
<copy file="${web.xml}"
tofile="${build.classes.dir}/WEB-INF/web.xml"/>
<mkdir dir="${build.classes.dir}/WEB-INF/classes/META-INF"/>
<move file="${assemble.dir}/entity.jar" todir="${build.classes.dir}/WEB-INF/lib"/>
<copy todir="${build.classes.dir}/WEB-INF/classes">
<fileset dir="${build.classes.dir}">
<include name="**/*.class"/>
</fileset>
</copy>
<jar jarfile="${war.file}" basedir="${build.classes.dir}"
update="true" includes ="WEB-INF/classes/**">
<fileset dir="${basedir}/docroot" casesensitive="yes">
<include name="*.html"/>
<include name="*.jsp"/>
<include name="*.gif"/>
<include name="*.do"/>
</fileset>
<fileset dir="${build.classes.dir}" casesensitive="true">
<include name="WEB-INF/web.xml"/>
</fileset>
<fileset dir="${build.classes.dir}" casesensitive="true">
<include name="WEB-INF/lib/entity.jar"/>
</fileset>
</jar>
<echo message="created war file ${war.file}"/>
<delete dir="${build.classes.dir}/WEB-INF" failonerror="false"/>
<echo message="my webclient war classes are:${webclient.war.classes}"/>
</target>
<!-- package entity classes and persistence.xml in ejb jar file -->
<target name="package-entity-ejb" depends="init-common">
<mkdir dir="${assemble.dir}"/>
<mkdir dir="${build.classes.dir}/META-INF"/>
<copy file="${persistence.xml}" tofile="${build.classes.dir}/META-INF/persistence.xml" failonerror="false"/>
<jar jarfile="${assemble.dir}/${appname}-ejb.jar" basedir="${build.classes.dir}"
update="true" includes ="${ejbjar.classes}">
<metainf dir="${build.classes.dir}/META-INF">
<include name="**/*persistence.xml"/>
</metainf>
</jar>
<delete dir="${build.classes.dir}/META-INF" failonerror="false"/>
</target>