build.xml

<?xml version="1.0" encoding="UTF-8" ?>
<project name="AppserverRefresh" default="refreshAppserver" basedir=".">

    <property name="spl.tcat.port" value="7300"/>
    <property name="spl.tcat.version" value="tomcatBase-5.5.20"/>

    <property name="spl.build.saved.dir" location="U:/V2xx_​CM_​DEMO_​DEV_​WIN_​TC_​ORA/build/saved"/>
    <property name="spl.base.dir" location="C:/splcm/V2xx_​CM_​DEMO_​DEV_​WIN_​TC_​ORA"/>
    <property name="spl.bin.dir" location="${spl.base.dir}/bin"/>
    <property name="spl.splapp.dir" location="${spl.base.dir}/splapp"/>
    <property name="spl.splapp.applications.dir" location="${spl.splapp.dir}/applications/"/>
    <property name="spl.root.dir" location="${spl.splapp.applications.dir}/root"/>
    <property name="spl.runtime.dir" location="${spl.base.dir}/runtime"/>
    <property name="spl.standalone.lib.dir" location="${spl.splapp.dir}/standalone/lib"/>
    <property name="spl.root.web-inf.lib.dir" location="${spl.root.dir}/WEB-INF/lib"/>
    <property name="spl.xai.web-inf.lib.dir" location="${spl.splapp.applications.dir}/XAIApp/WEB-INF/lib"/>

    <target name="deployXAI" depends="deploy" >
        <echo message="Copying CM appserver jar file to ${spl.xai.web-inf.lib.dir}..."/>
        <copy todir="${spl.xai.web-inf.lib.dir}">
            <fileset dir="${spl.build.saved.dir}\lib">
               <include name="cm*.jar" />
            </fileset>
        </copy>
    </target>

    <target name="starttomcat" depends="deployXAI">
        <echo message="Starting Tomcat..."/>
        <property name="host" value="localhost"/>
        <property name="port" value="${spl.tcat.port}"/>
        <property name="server.url" value="http://${host}:${port}"/>
        <exec dir="${spl.bin.dir}" executable="cmd.exe" spawn="true">
    	    <arg line="/c spl.cmd start" />
        </exec>
        <waitfor maxwait="180" maxwaitunit="second" timeoutproperty="server.is.unavailable">
 	     <http url="${server.url}"/>
        </waitfor>        
        <fail if="server.is.unavailable" message="Ant was unable to start the server..."/>
        <echo message="Finished App Server Refresh..."/>
    </target>


    <target name="deploy" depends="CheckSavedDir">
        <tstamp>
            <format property="TODAY" pattern="MM/dd/yy HH:mm"/>
        </tstamp>
        <echo message="Starting refresh on ${TODAY}"/>
  		<fail unless="saved.dir.exist" message="No saved directory exist. Not refreshing..."/>
  		<fail if="saving.files.in.progress" message="Build server save files in progress. Not refreshing..."/>
        <echo message="Shutting down MPL..."/>
        <exec dir="${spl.splapp.dir}/mpl" executable="cmd.exe" spawn="true">
    	    <arg line="/c stopMPL.cmd" />
        </exec>
        <echo message="Waiting 30 seconds while MPL shutsdown..."/>
        <sleep seconds="30"/>
        <echo message="Shutting down Tomcat..."/>
        <exec dir="${spl.bin.dir}" executable="cmd.exe" spawn="true">
    	    <arg line="/c spl.cmd stop" />
        </exec>
        <echo message="Waiting 120 seconds while Tomcat shutsdown..."/>
        <sleep seconds="120"/>

        <echo message="Refreshing appserver ..."/>

        <echo message="Deleting CM appserver root directory ${spl.root.dir}\cm"/>
	  <delete dir="${spl.root.dir}\cm"/>

        <echo message="Deleting CM appserver root directory ${spl.root.dir}\c1\cm"/>
	  <delete dir="${spl.root.dir}\c1\cm"/>

        <echo message="Deleting CM appserver dlls in ${spl.runtime.dir}"/>
	  <delete>
     	    	<fileset dir="${spl.runtime.dir}">
        		<include name="cm*.dll"/>
        		<include name="CM*.dll"/>
        	</fileset>
	  </delete>

 	  <echo message="Deleting CM appserver jars in ${spl.standalone.lib.dir}"/>
	  <delete>
        	<fileset dir="${spl.standalone.lib.dir}">
        		<include name="cm*.jar"/>
        	</fileset>
	  </delete>

 	  <echo message="Deleting CM appserver jars in ${spl.root.web-inf.lib.dir}"/>
	  <delete>
     	  	<fileset dir="${spl.root.web-inf.lib.dir}">
        		<include name="cm*.jar"/>
        	</fileset>
	  </delete>

 	  <echo message="Deleting CM appserver jars in ${spl.xai.web-inf.lib.dir}"/>
	  <delete>
        	<fileset dir="${spl.xai.web-inf.lib.dir}">
        		<include name="cm*.jar"/>
        	</fileset>
	  </delete>

        <echo message="Create the build saved directory if it doesn't exist ${spl.build.saved.dir}\root\cm..."/>
	  <mkdir dir="${spl.build.saved.dir}\root\cm"/>

        <echo message="Copying CM appserver files to ${spl.root.dir}..."/>
        <copy todir="${spl.root.dir}\cm">
            <fileset dir="${spl.build.saved.dir}\root\cm" />
        </copy>

        <echo message="Copying CM appserver dlls to ${spl.runtime.dir}"/>
        <copy todir="${spl.runtime.dir}">
            <fileset dir="${spl.build.saved.dir}\runtime">
               <include name="CM*.dll" />
               <include name="cm*.dll" />
            </fileset>
        </copy>
        <echo message="Copying CM appserver jar file to ${spl.standalone.lib.dir}..."/>
        <copy todir="${spl.standalone.lib.dir}">
            <fileset dir="${spl.build.saved.dir}\lib">
               <include name="cm*.jar" />
            </fileset>
        </copy>
        <echo message="Copying CM appserver jar file to ${spl.root.web-inf.lib.dir}..."/>
        <copy todir="${spl.root.web-inf.lib.dir}">
            <fileset dir="${spl.build.saved.dir}\lib">
               <include name="cm*.jar" />
            </fileset>
        </copy>

   </target>


  <target name="refreshAppserver" depends="starttomcat"/>

  <target name="CheckSavedDir">
		<echo message="Checking if saved directory exist..."/>
  		<condition property="saved.dir.exist">
		   <available file="${spl.build.saved.dir}" type="dir"/>
  		</condition>
		<echo message="Checking if build server is in the process of saving files..."/>
  		<condition property="saving.files.in.progress">
		   <available file="${spl.build.root.dir}\~saving_​files" type="file"/>
  		</condition>
   </target>

</project>