<project name="deployment tool">
<!-- ********************************************************************************** -->
<!-- Imports the properties files used for correct deployment -->
<!-- ********************************************************************************** -->
<property file="deploy.properties" />
<!-- ********************************************************************************** -->
<!-- Taks definitions -->
<!-- ********************************************************************************** -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${ant.lib.dir}/ant-contrib-1.0b3.jar" />
</classpath>
</taskdef>
<taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy">
<classpath>
<pathelement path="${commonlibs.dir}/Storage/wlfullclient.jar" />
</classpath>
</taskdef>
<!-- ********************************************************************************** -->
<!-- deploying/undeploying module in application server -->
<!-- ********************************************************************************** -->
<macrodef name="deploy-module">
<attribute name="file" default="NOT_SET"/>
<attribute name="wl.name" default="NOT_SET"/>
<attribute name="wl.username" default="weblogic"/>
<attribute name="wl.password" default="testpwd"/>
<attribute name="wl.adminurl" default="t3://localhost:7001"/>
<attribute name="wl.targets" default="NOT_SET"/>
<sequential>
<!-- Check that the admin server is running before deployment -->
<property name="weblogic.console" value="http://${server-host}:${server-adminPort}/console"/>
<waitfor maxwait="2" maxwaitunit="minute" checkevery="100" checkeveryunit="millisecond">
<http url="${weblogic.console}" />
</waitfor>
<if>
<not>
<http url="${weblogic.console}" />
</not>
<then>
<fail message="Admin Server on http://${server-host}:${server-adminPort} is not in running state. Unable to deploy ${final.ear.name}"/>
</then>
<else>
<echo message="_____Admin Server on http://${server-host}:${server-adminPort} is running. Starting deployment of ${final.ear.name}"/>
</else>
</if>
<!-- starting the deployment -->
<echo>_____Deploying file @{file} to @{wl.adminurl} on targets @{wl.targets} </echo>
<if>
<equals arg1="${server-host}" arg2="localhost"/>
<then>
<property name="wl.upload" value="false"/>
</then>
<else>
<property name="wl.upload" value="true"/>
<echo>_____Uploading file @{file} to @{wl.adminurl} </echo>
</else>
</if>
<if>
<equals arg1="@{wl.targets}" arg2="NOT_SET"/>
<then>
<wldeploy action="deploy" source="@{file}" name="@{wl.name}" user="@{wl.username}" password="@{wl.password}" adminurl="@{wl.adminurl}" verbose="true" debug="true" upload="${wl.upload}"/>
</then>
<else>
<wldeploy action="deploy" source="@{file}" name="@{wl.name}" user="@{wl.username}" password="@{wl.password}" adminurl="@{wl.adminurl}" targets="@{wl.targets}" verbose="true" debug="true" upload="${wl.upload}"/>
</else>
</if>
</sequential>
</macrodef>
<macrodef name="undeploy-module">
<attribute name="wl.name" default="NOT_SET"/>
<attribute name="wl.username" default="weblogic"/>
<attribute name="wl.password" default="testpwd"/>
<attribute name="wl.adminurl" default="t3://localhost:7001"/>
<attribute name="wl.targets" default="NOT_SET"/>
<sequential>
<echo>_____Undeploying module @{wl.name} to @{wl.adminurl} from targets @{wl.targets} </echo>
<if>
<equals arg1="@{wl.targets}" arg2="NOT_SET"/>
<then>
<wldeploy action="undeploy" name="@{wl.name}" user="@{wl.username}" password="@{wl.password}" adminurl="@{wl.adminurl}" verbose="true" debug="true" failonerror="false"/>
</then>
<else>
<wldeploy action="undeploy" name="@{wl.name}" user="@{wl.username}" password="@{wl.password}" adminurl="@{wl.adminurl}" targets="@{wl.targets}" verbose="true" debug="true" failonerror="false"/>
</else>
</if>
</sequential>
</macrodef>
<!-- ********************************************************************************** -->
<!-- deploying/undeploying ear in application server -->
<!-- ********************************************************************************** -->
<target name="deploy-ear">
<!-- deploy now the module -->
<deploy-module file="${final.module.name}"
wl.name="${project.name}"
wl.username="${serverWL-adminuser}"
wl.password="${serverWL-adminpasswd}"
wl.adminurl="t3://${server-host}:${server-adminPort}"
wl.targets="${cluster-name}"
/>
</target>
<target name="undeploy-ear">
<undeploy-module wl.name="${project.name}"
wl.username="${serverWL-adminuser}"
wl.password="${serverWL-adminpasswd}"
wl.adminurl="t3://${server-host}:${server-adminPort}"
wl.targets="${cluster-name}"
/>
</target>
</project>
and use a property file like this:
ant.lib.dir=D:/tools/apache-ant/lib # Weblogic home dir and domain location # Variable only used to start and stop the server when localhost is used # in server location weblogic.home.dir=D:/weblogic.10.3.4 weblogic.domain.dir=D:/weblogic.10.3.4/user_projects/domains/YuuWaa # The command to run for starting and stoping web logic start-admin-server=startWebLogic.cmd stop-admin-server=stopWebLogic.cmd start-managed-server=startManagedWebLogic.cmd stop-managed-server=stopManagedWebLogic.cmd # Cluste name where to deploy cluster-name= # host and port of the listening admin console server-host=localhost server-adminPort=7001 # User/Password used when connecting to the admin console of WLS serverWL-adminuser=weblogic serverWL-adminpasswd=testpwd final.module.name=testEjb.ear
