Showing posts with label WMB Build. Show all posts
Showing posts with label WMB Build. Show all posts

Ant Build in WMB 7.0


<?xml version="1.0"?>
<project name="project" default="run">
 <target name="run" description="">
  <antcall target="mqsicreatebar.buildbar" />
  <antcall target="mqsideploy.deploybar" />
 </target>


 <!--    Target to build the broker archive using mqsicreatebar  -->


 <target name="mqsicreatebar.buildbar">
  <property name="toolkit.home" value="C:\Program Files\IBM\WMBT700" />
  <property name="workspaces.dir" value="C:\Harish\AntProject" />
  <property name="bar.name" value="C:\ABC\sample.bar" />
  <exec executable="${toolkit.home}\mqsicreatebar.exe" spawn="false">
   <arg value="-data" />
   <arg value="${workspaces.dir}" />
   <arg value="-b" />
   <arg value="${bar.name}" />
   <arg value="-cleanBuild" />
   <arg value="-p" />
   <arg value="MyProject" />
   <arg value="-o" />
   <arg value="MyProject\Sample.msgflow" />
  </exec>
  <echo message="Completed building Broker Archive file - ${bar.name} " />
 </target>

 <!--    Target to deploy the broker archive using mqsideployscript  -->


 <target name="mqsideploy.deploybar">
  <property name="mqsi.home" value="C:\Program Files\IBM\MQSI\7.0\bin" />
  <property name="bar.name" value="C:\ABC\sample.bar" />
  <property name="broker" value="ECSBRK" />
  <property name="exegroup" value="default" />
  <exec executable="${mqsi.home}\mymqsideployscript.bat" spawn="false">
   <arg value="${broker}" />
   <arg value="-e" />
   <arg value="${exegroup}" />
   <arg value="-a" />
   <arg value="${bar.name}" />
  </exec>
  <echo message="Deployed Broker Archive file - ${bar.name} " />
 </target>
</project>


I have modified mqsideployscript.bat to mymqsideployscript.bat in the above script because we should call mqsiprofile.cmd before calling mqsideployscript.bat, but the constraint is, it should happen in a single exec call because each instance of exec in Ant removes the previous call to profile. We have to source the profile before invoking Ant, or the command will fail.


Whereas mymqsideployscript.bat is


@echo off 
setlocal 


CALL C:\Progra~1\IBM\MQSI\7.0\bin\mqsiprofile.cmd 


set PRODUCT_PATH=%~dp0.. 


if %1""=="" goto noparam 


SET parm8=%8 
SET parm9=%9 
SHIFT /8 
SET parm10=%9 
SHIFT /8 
SET parm11=%9 
SHIFT /8 
SET parm12=%9 
SHIFT /8 
SET parm13=%9 
SHIFT /8 
SET parm14=%9 
SHIFT /8 
SET parm15=%9 
SHIFT /8 
SET parm16=%9 
SHIFT /8 
SET parm17=%9 
SHIFT /8 
SET parm18=%9 
SHIFT /8 
SET parm19=%9 
SHIFT /8 
SET parm20=%9 
"%MQSI_JREPATH%\bin\java" com.ibm.broker.config.util.Deploy %1 %2 %3 %4 %5 %6 %7 %parm8% %parm9% %parm10% %parm11% %parm12% %parm13% %parm14% %parm15% %parm16% %parm17% %parm18% %parm19% %parm20% 
goto end 
:noparam 
"%MQSI_JREPATH%\bin\java" com.ibm.broker.config.util.Deploy -? 
:end 
endlocal


For more info :  
http://www.mqseries.net/phpBB2/viewtopic.php?t=55006&postdays=0&postorder=asc&start=0&sid=ec6794b648a9cd71c59574cb7dc32209