| <!--/******************************************************************************* |
| * 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: |
| * tware - initial API and implementation |
| #******************************************************************************/--> |
| |
| <!-- This ant project includes the following tasks: |
| - oc4j-install : recreates server installation from download zip |
| - oc4j-setup : creates connection pool |
| - oc4j-reset : removes connection pool |
| - oc4j-start : starts server |
| - oc4j-stop : stops server |
| - oc4j-deploy : deploys ear |
| - oc4j-undeploy : undeploys ear |
| |
| It requires some configuration of the oc4j.properties, it should be run through build.xml, not directly. |
| --> |
| <project name="Eclipse Persistence Services JPA OC4J Testing" basedir="."> |
| |
| <!-- Allows a user to overide certain user specific properties. --> |
| <property file="${user.home}/oc4j.properties"/> |
| <property file="./oc4j.properties"/> |
| <property name="eclipselink.lib" value="../../${eclipselink.jar}"/> |
| |
| <!-- |
| This target is to install OC4J server at ${oc4j.home}. |
| Before calling this target, you need to obtain Oracle OC4J standalone zip - oc4j.extended.zip and put it at ${extension.oracle.lib.external} |
| --> |
| <target name="oc4j-install"> |
| <delete dir="${oc4j.home}"/> |
| <mkdir dir="${oc4j.home}"/> |
| <unzip src="${oc4j.extended.zip}" dest="${oc4j.home}"/> |
| <!--Change password for admin--> |
| <java classname="oracle.security.jazn.util.JAZNInstallHelper" fork="true" dir="${oc4j.home}/j2ee/home"> |
| <classpath> |
| <pathelement location="${oc4j.home}/j2ee/home/jazncore.jar" /> |
| <pathelement location="${oc4j.home}/j2ee/home/jazn.jar" /> |
| </classpath> |
| <arg line="-oh ${oc4j.home} -realm jazn.com -user ${server.user} -oldpwd welcome -newpwd ${server.pwd} -clearpwd true"/> |
| </java> |
| |
| <copy file="${eclipselink.lib}" todir="${oc4j.home}/j2ee/home/applib"/> |
| <copy file="${junit.lib}" todir="${oc4j.home}/j2ee/home/applib"/> |
| <copy file="${jdbc.driver.jar}" todir="${oc4j.home}/j2ee/home/applib"/> |
| <copy file="${oracle.extensions.depend.dir}/${oracle.sdoapi.jar}" todir="${oc4j.home}/j2ee/home/applib"/> |
| </target> |
| |
| <!-- Start the server. --> |
| <target name="oc4j-start"> |
| <property file="${user.home}/oc4j.properties"/> |
| <property file="./oc4j.properties"/> |
| <java jar="${oc4j.home}/j2ee/home/oc4j.jar" |
| fork="true" |
| failonerror="false"> |
| <jvmarg value="-Xms512m"/> |
| <jvmarg value="-Xmx960m"/> |
| <jvmarg value="-XX:PermSize=128m"/> |
| <arg value="-config"/> |
| <arg value="${oc4j.home}/j2ee/home/config/server.xml"/> |
| <arg value="-userThreads"/> |
| <!--jvmarg value="-Xdebug"/--> |
| <!--jvmarg value="-Xnoagent"/--> |
| <!--jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000"/--> |
| <!--sysproperty key="http.proxyHost" value="www-proxy.us.oracle.com"/--> |
| <!--sysproperty key="http.proxyPort" value="80"/--> |
| <sysproperty key="eclipselink.logging.level" value="${logging.level}"/> |
| </java> |
| </target> |
| |
| <!-- |
| This target is to create connection pool and managed datasource required for running JPA tests on the OC4J server |
| Note: OC4J server must be up while calling this target |
| --> |
| <target name="oc4j-setup"> |
| <antcall target="create-connection-pool" inheritRefs="true"/> |
| <antcall target="create-managed-datasource" inheritRefs="true"/> |
| </target> |
| |
| <!-- |
| This target is to remove the connection pool and managed datasource created by target <oc4j.setup> |
| Note: OC4J server must be up while calling this target |
| --> |
| <target name="oc4j-reset"> |
| <antcall target="remove-datasource" inheritRefs="true"/> |
| <antcall target="remove-connection-pool" inheritRefs="true"/> |
| </target> |
| |
| <target name="create-connection-pool"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" fork="true"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-addDataSourceConnectionPool"/> |
| <arg value="-name"/> |
| <arg value="ejbPool"/> |
| <arg value="-factoryClass"/> |
| <arg value="oracle.jdbc.pool.OracleDataSource"/> |
| <arg value="-dbUser"/> |
| <arg value="${db.user}"/> |
| <arg value="-dbPassword"/> |
| <arg value="${db.pwd}"/> |
| <arg value="-url"/> |
| <arg value="${db.url}"/> |
| </java> |
| </target> |
| |
| <target name="create-managed-datasource"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" fork="true"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-addManagedDataSource"/> |
| <arg value="-name"/> |
| <arg value="EclipseLinkDS"/> |
| <arg value="-jndiLocation"/> |
| <arg value="jdbc/EclipseLinkDS"/> |
| <arg value="-connectionPoolName"/> |
| <arg value="ejbPool"/> |
| </java> |
| </target> |
| |
| <target name="remove-datasource"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" fork="true"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-removeManagedDatasource"/> |
| <arg value="-name"/> |
| <arg value="EclipseLinkDS"/> |
| </java> |
| </target> |
| |
| <target name="remove-connection-pool"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" fork="true"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-removeDataSourceConnectionPool"/> |
| <arg value="-name"/> |
| <arg value="ejbPool"/> |
| </java> |
| </target> |
| |
| <!-- Stop the server. --> |
| <target name="oc4j-stop"> |
| <property file="${user.home}/oc4j.properties"/> |
| <property file="./oc4j.properties"/> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" |
| fork="true" |
| failonerror="false"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-shutdown"/> |
| <arg value="force"/> |
| </java> |
| </target> |
| |
| <!-- |
| Deploy the application ear to the server. |
| Note: OC4J server must be running. |
| --> |
| <target name="oc4j-deploy"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" |
| fork="true" |
| failonerror="false"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-deploy"/> |
| <arg value="-file"/> |
| <arg value="${ear.name}"/> |
| <arg value="-deploymentName"/> |
| <arg value="${application.name}"/> |
| </java> |
| </target> |
| |
| <!-- |
| Undeploy the application ear to the server. |
| Note: OC4J server must be running. |
| --> |
| <target name="oc4j-undeploy"> |
| <java jar="${oc4j.home}/j2ee/home/admin_client.jar" |
| fork="true" |
| failonerror="false"> |
| <arg value="deployer:oc4j:${oc4j.httphost}:${oc4j.rmiport}"/> |
| <arg value="${server.user}"/> |
| <arg value="${server.pwd}"/> |
| <arg value="-undeploy"/> |
| <arg value="${application.name}"/> |
| </java> |
| </target> |
| |
| </project> |