| <!--/******************************************************************************* |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 |
| * which accompanies this distribution. |
| * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html |
| * and the Eclipse Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Ant naming conventions: |
| * - regardless of the actual OS platform,'/' is the directory separator |
| * (Ant will convert as appropriate). |
| * - multi-word properties use periods '.' |
| * - properties ending in .jar define jarfile names only (no path) |
| * - properties ending in .lib are fully qualified jars (path and filename) |
| * - properties ending in .dir are directory paths |
| * - properties ending in .path are path refid names (classpath fragments) |
| * - multi-word targets use hyphens '-' |
| * - targets beginning with test- are reserved for high level test targets, |
| * and are used in test results parsing |
| * - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip) |
| * - multi-word macros use underscores '_' |
| * - multi-word macro attributes are concatenated |
| * e.g. 'runpathref' |
| * - multi-word tasks (taskdef) names are concatenated |
| * e.g. 'validateconnection' |
| * - OS environment variables are in ALLCAPS and have 'env' as a prefix |
| * e.g. ${env.XXX}. |
| * - Ant properties are lower case. |
| * |
| * Contributors: |
| * kyuan - initial API and implementation |
| #******************************************************************************/--> |
| |
| <!-- This ant project includes the following tasks: |
| - jboss-install : recreates server and adds jars (ignore this step) |
| - jboss-setup : creates connection pool |
| - jboss-reset : removes connection pool |
| - jboss-start : starts server |
| - jboss-stop : stops server |
| - jboss-deploy : deploys ear |
| - jboss-undeploy : undeploys ear |
| |
| It requires some configuration of the jboss.properties, it should be run through build.xml, not directly. |
| To connect to the jboss admin console use http://localhost:8080/jmx-console, this may be useful for debugging deployment failures. |
| Sometimes if a test or deployment fails, you server gets screwed up and you need to re-install your domain (ant server.install). |
| --> |
| |
| <project name="Eclipse Persistence Services JPA JBoss Testing" basedir="."> |
| |
| <property name="env" environment="env" value="env"/> |
| <!-- Allows a user to overide certain user specific properties. --> |
| <property file="${user.home}/jboss.properties"/> |
| <property file="./jboss.properties"/> |
| <property name="eclipselink.lib" value="../../${eclipselink.jar}"/> |
| |
| <!-- Set db name by check db.driver --> |
| <condition property="db.name" value="oracle"> |
| <contains string="${db.driver}" substring="oracle"/> |
| </condition> |
| |
| <condition property="db.name" value="mysql"> |
| <contains string="${db.driver}" substring="mysql"/> |
| </condition> |
| |
| <condition property="db.name" value="mssql"> |
| <contains string="${db.driver}" substring="sqlserver"/> |
| </condition> |
| |
| <condition property="db.name" value="db2"> |
| <contains string="${db.driver}" substring="db2"/> |
| </condition> |
| |
| <condition property="db.name" value="sybase"> |
| <contains string="${db.driver}" substring="sybase"/> |
| </condition> |
| |
| <condition property="is.eap"> |
| <contains string="${server.version}" substring="eap"/> |
| </condition> |
| |
| <!-- Here will use default server configuration. --> |
| <target name="jboss-install"> |
| <copy file="${junit.lib}" todir="${jboss.server}/lib"/> |
| <copy file="${eclipselink.lib}" todir="${jboss.server}/lib"/> |
| <copy file="${jdbc.driver.jar}" todir="${jboss.server}/lib"/> |
| <copy file="${jpatest.2.sdo.plugins.dir}/${commonj.sdo.jar}" todir="${jboss.server}/lib" overwrite="true"/> |
| <antcall target="copy-eclipselink-persistence-jars-to-domain-lib" inheritRefs="true"/> |
| </target> |
| |
| <target name="copy-eclipselink-persistence-jars-to-domain-lib" if="is.eap"> |
| <copy file="${eclipselink.plugins.trunk}/${persistence10.jar}" todir="${jboss.server}/lib" overwrite="true"/> |
| </target> |
| |
| <!-- This target is to create datasource required for running JPA tests on the JBoss server. --> |
| <target name="jboss-setup"> |
| <copy todir="${jboss.server}/deploy"> |
| <fileset dir="./resource/jboss/"> |
| <include name="${db.name}-*.xml"/> |
| </fileset> |
| </copy> |
| <replace file="${jboss.server}/deploy/${db.name}-ds.xml" token="@username@" value="${db.user}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-ds.xml" token="@password@" value="${db.pwd}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-ds.xml" token="@url@" value="${db.url}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-ds.xml" token="@driverclass@" value="${db.driver}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-xa-ds.xml" token="@username@" value="${db.user}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-xa-ds.xml" token="@password@" value="${db.pwd}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-xa-ds.xml" token="@url@" value="${db.url}"/> |
| <replace file="${jboss.server}/deploy/${db.name}-xa-ds.xml" token="@driverclass@" value="${db.driver}"/> |
| </target> |
| |
| <!-- This target is to remove the datasource created by target "jboss-setup" --> |
| <target name="jboss-reset"> |
| <delete dir="${jboss.server}/tmp"/> |
| <delete dir="${jboss.server}/work"/> |
| <delete dir="${jboss.server}/data"/> |
| <delete dir="${jboss.server}/log"/> |
| <delete file="${jboss.server}/deploy/${db.name}-ds.xml"/> |
| </target> |
| |
| <!-- Start the server. --> |
| <target name="jboss-start"> |
| <java classname="org.jboss.Main" |
| fork="true" |
| failonerror="false" > |
| <jvmarg value="-Xms512m"/> |
| <jvmarg value="-Xmx960m"/> |
| <sysproperty key="http.proxyHost" value="www-proxy.us.oracle.com"/> |
| <sysproperty key="http.proxyPort" value="80"/> |
| <sysproperty key="eclipselink.logging.level" value="${logging.level}"/> |
| <sysproperty key="java.endorsed.dirs" value="${jboss.home}/lib/endorsed"/> |
| <classpath> |
| <!-- The following 2 jars are for 5.x version --> |
| <pathelement location="${jboss.home}/lib/jboss-common-core.jar"/> |
| <pathelement location="${jboss.home}/lib/jboss-logging-spi.jar"/> |
| <!-- The following 2 jars are only for 6.0 and later version --> |
| <pathelement location="${jboss.home}/lib/jboss-logging.jar"/> |
| <pathelement location="${jboss.home}/lib/jboss-logmanager.jar"/> |
| <pathelement location="${jboss.home}/bin/run.jar"/> |
| <pathelement location="${jdbc.driver.jar}"/> |
| <pathelement location="${oracle.extensions.depend.dir}/${oracle.xdb.jar}"/> |
| <pathelement location="${oracle.extensions.depend.dir}/${oracle.xmlparser.jar}"/> |
| <pathelement location="${oracle.extensions.depend.dir}/${oracle.sdoapi.jar}"/> |
| </classpath> |
| </java> |
| </target> |
| |
| <!-- Stop the server. --> |
| <target name="jboss-stop"> |
| <java classname="org.jboss.Shutdown" |
| fork="true" |
| failonerror="false"> |
| <arg line="-S -u ${server.user} -p ${server.pwd} ${server.url}"/> |
| <classpath> |
| <fileset dir="${server.lib}" includes="${server.depend}"/> |
| <pathelement location="${jboss.home}/bin/shutdown.jar"/> |
| </classpath> |
| </java> |
| </target> |
| |
| <!-- Deploy the application ear to the server. --> |
| <target name="jboss-deploy"> |
| <copy todir="${jboss.deploy.dir}"> |
| <fileset dir="./"> |
| <include name="${ear.name}"/> |
| </fileset> |
| </copy> |
| <sleep seconds="10"/> |
| </target> |
| |
| <!-- Undeploy the application ear to the server. --> |
| <target name="jboss-undeploy"> |
| <delete> |
| <fileset dir="${jboss.deploy.dir}" includes="*.ear,*.war"/> |
| </delete> |
| </target> |
| |
| </project> |