<!--/******************************************************************************* | |
* 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 '.' | |
* - multi-word targets use hyphens '-' | |
* - 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: | |
* yipzhao - initial implementation | |
#******************************************************************************/--> | |
<!-- This ant project includes the following tasks: | |
- websphere-install : adds jars | |
- websphere-setup : removes and creates datasource and shared library | |
- websphere-start : starts server | |
- websphere-stop : stops server | |
- websphere-deploy : deploys ear | |
- websphere-undeploy : undeploys ear | |
--> | |
<project name="Eclipse Persistence Services JPA WebSphere Testing" basedir="."> | |
<!-- Allows a user to overide certain user specific properties. --> | |
<property file="${user.home}/websphere.properties"/> | |
<property file="./websphere.properties"/> | |
<property name="suffix" value="sh"/> | |
<condition property="is.as"> | |
<contains string="${server.version}" substring="as"/> | |
</condition> | |
<condition property="is.nd"> | |
<contains string="${server.version}" substring="nd"/> | |
</condition> | |
<!-- This copy eclipselink.jar, junit.jar to WebSphere server lib/ext. --> | |
<target name="websphere-install"> | |
<copy file="${junit.lib}" todir="${was.home}/lib/ext"/> | |
<copy file="${eclipselink.jar.dir}/eclipselink.jar" todir="${was.home}/lib/ext"/> | |
<copy file="${oracle.extensions.depend.dir}/${oracle.sdoapi.jar}" todir="${was.home}/lib/ext"/> | |
<copy file="${jpatest.2.sdo.plugins.dir}/${commonj.sdo.jar}" todir="${was.home}/lib/ext" overwrite="true"/> | |
</target> | |
<!-- Start the server. --> | |
<target name="websphere-start"> | |
<echo message="WebSphere Server is Starting......"/> | |
<antcall target="websphere-start-as" inheritRefs="true"/> | |
<antcall target="websphere-start-nd" inheritRefs="true"/> | |
<echo message="Finish Starting WebSphere Server."/> | |
</target> | |
<!-- Start the AS edition server. --> | |
<target name="websphere-start-as" if="is.as"> | |
<exec executable="${was.home}/bin/startServer.${suffix}"> | |
<arg value="server1"/> | |
<arg value="-Dis.JTA=${is.JTA}"/> | |
<arg value="-Dejb.lookup=${ejb.lookup}"/> | |
</exec> | |
</target> | |
<!-- Start the ND edition server. --> | |
<target name="websphere-start-nd" if="is.nd"> | |
<echo message="Starting Deployment Manager......"/> | |
<exec executable="${was.home}/profiles/Dmgr01/bin/startManager.${suffix}"/> | |
<echo message="Starting Node......"/> | |
<exec executable="${was.home}/profiles/AppSrv01/bin/startNode.${suffix}"/> | |
<echo message="Starting Server......"/> | |
<exec executable="${was.home}/profiles/AppSrv01/bin/startServer.${suffix}"> | |
<arg value="server1"/> | |
<arg value="-Dis.JTA=${is.JTA}"/> | |
<arg value="-Dejb.lookup=${ejb.lookup}"/> | |
</exec> | |
</target> | |
<!-- | |
This target is to create datasource, shared library for running JPA tests on the WebSphere server. | |
Note: WebSphere server must be running. | |
--> | |
<target name="websphere-setup"> | |
<echo message="*****Config WebSphere Server*****"/> | |
<copy overwrite="true" file="${was.jython.scripts.dir}/configWebSphere.py" tofile="${was.home}/bin/configWebSphere.py"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%oracleDriver%%" value="${oracle.extensions.jar.dir}/ojdbc7.jar"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%nodeName%%" value="${nodeName}"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%serverName%%" value="${serverName}"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%dbUser%%" value="${db.user}"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%dbPassword%%" value="${db.pwd}"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%dbURL%%" value="${db.url}"/> | |
<antcall target="set-transaction-type-for-non-jta-ds" inheritRefs="true"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%eclipselinkLibDir%%" value="${eclipselink.jar.dir}"/> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%oracleExtensionLibDir%%" value="${oracle.extensions.jar.dir}"/> | |
<sleep seconds="20"/> | |
<exec executable="${was.home}/bin/wsadmin.${suffix}"> | |
<arg line="-lang jython -user ${server.user} -password ${server.pwd} -f ${was.home}/bin/configWebSphere.py"/> | |
</exec> | |
</target> | |
<target name="set-transaction-type-for-non-jta-ds" if="is.nonjta.datasource"> | |
<replace file="${was.home}/bin/configWebSphere.py" token="%%nonTransactionalDS%%" value="true"/> | |
</target> | |
<!-- websphere-setup removes and recreates datasource and shared library, so we don't need to do anything in websphere-reset. --> | |
<target name="websphere-reset"> | |
</target> | |
<!-- Stop the server. --> | |
<target name="websphere-stop"> | |
<echo message="WebSphere Server is Stopping......"/> | |
<antcall target="websphere-stop-as" inheritRefs="true"/> | |
<antcall target="websphere-stop-nd" inheritRefs="true"/> | |
<delete file="${was.home}/lib/ext/eclipselink.jar" failonerror="false"/> | |
<echo message="Finish Stopping WebSphere Server."/> | |
</target> | |
<!-- Stop the AS edition server. --> | |
<target name="websphere-stop-as" if="is.as"> | |
<exec executable="${was.home}/bin/stopServer.${suffix}"> | |
<arg value="server1"/> | |
</exec> | |
</target> | |
<!-- Stop the ND edition server. --> | |
<target name="websphere-stop-nd" if="is.nd"> | |
<echo message="Stoping Server......"/> | |
<exec executable="${was.home}/profiles/AppSrv01/bin/stopServer.${suffix}"> | |
<arg value="server1"/> | |
</exec> | |
<echo message="Stoping Node......"/> | |
<exec executable="${was.home}/profiles/AppSrv01/bin/stopNode.${suffix}"/> | |
<echo message="Stoping Deployment Manager......"/> | |
<exec executable="${was.home}/profiles/Dmgr01/bin/stopManager.${suffix}"/> | |
</target> | |
<!-- | |
Deploy the application ear to the server. | |
Note: WebSphere server must be running. | |
--> | |
<target name="websphere-deploy"> | |
<echo message="*****Deploy ${application.name} on WebSphere Server*****"/> | |
<copy overwrite="true" file="${was.jython.scripts.dir}/installApps.py" tofile="${was.home}/bin/installApps.py"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%serverVersion%%" value="${server.version}"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%cellName%%" value="${cellName}"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%nodeName%%" value="${nodeName}"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%serverName%%" value="${serverName}"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%appName%%" value="${application.name}"/> | |
<property name="ear.name" value="${application.name}.ear"/> | |
<replace file="${was.home}/bin/installApps.py" token="%%ear%%" value="${ear.name}"/> | |
<sleep seconds="20"/> | |
<exec executable="${was.home}/bin/wsadmin.${suffix}"> | |
<arg line="-lang jython -user ${server.user} -password ${server.pwd} -f ${was.home}/bin/installApps.py"/> | |
</exec> | |
</target> | |
<!-- | |
Undeploy the application ear to the server. | |
Note: WebSphere server must be running. | |
--> | |
<target name="websphere-undeploy"> | |
<echo message="*****Undeploy ${application.name} on WebSphere Server*****"/> | |
<copy overwrite="true" file="${was.jython.scripts.dir}/unInstallApps.py" tofile="${was.home}/bin/unInstallApps.py"/> | |
<replace file="${was.home}/bin/unInstallApps.py" token="%%appName%%" value="${application.name}"/> | |
<sleep seconds="20"/> | |
<exec executable="${was.home}/bin/wsadmin.${suffix}"> | |
<arg line="-lang jython -user ${server.user} -password ${server.pwd} -f ${was.home}/bin/unInstallApps.py"/> | |
</exec> | |
</target> | |
</project> |