build.xml

The following is a sample build.xml file.

<project name="Stack_BE-build" default="release" basedir="." 
xmlns:sf="antlib:com.datasynapse.fabric.ant">    

<property file="build.properties" />    
<property file="fabric-cli.properties" />    

<sf:connection-props brokerurl="${DSPrimaryDirector}" username="${DSUserName}" 
password="${DSPassword}" 
clientssltrustfile="${DSSSLTrustFile}" />    <target name="release" 
depends="create-all-components, 
release-SFBEV15-component, release-stack" />    
<target name="clean" depends="clean-stack, clean-SFBEV15-component" />   

 <target name="create-all-components">        
<sf:component action="create" name="${SFBEV15.component.name}" 
description="${SFBEV15.component.description}" type="${SFBEV15.component.type}" 
enablername="${SFBEV15.enabler.name}" enablerversion=
  "${SFBEV15.enabler.version}"
 utility="${SFBEV15.utility}" />    </target>   
 <target name="release-SFBEV15-component">       
 <echo message="Building ${SFBEV15.component.name}" />        

<sf:option name="${SFBEV15.component.name}" action="replace">            
<sf:property name="Department" value="${SFBEV15.department}" />            
<sf:property name="Location" value="${SFBEV15.location}" />            
<sf:property name="Partition" value="${SFBEV15.partition}" />           
<sf:property name="Engine Blacklisting" value="${SFBEV15.blacklisting}" />            
<sf:property name="Failures Per Day Before Blacklist" 
   value="${SFBEV15.blacklist.failures}" />            
<sf:property name="Archive Scale Up Timeout" 
    value="${SFBEV15.archive.scale.up.timeout}" />            
<sf:property name="Archive Scale Down Timeout" 
value="${SFBEV15.archive.scale.down.timeout}" />            
<sf:property name="Maximum Deactivation Time" 
value="${SFBEV15.deactivation.timeout}" />            
<sf:property name="Maximum Activation Time" 
value="${SFBEV15.activation.timeout}" />            
<sf:property name="Maximum Capture Time" 
value="${SFBEV15.maximum.capture.time}" />            
<sf:property name="Maximum Instances Per Host" 
value="${SFBEV15.max.instances.per.host}" />            
<sf:property name="Statistics Collection Frequency" 
value="${SFBEV15.stats.collection.frequency}" />            
<sf:property name="Activation Delay" value="${SFBEV15.activation.delay}" />            
<sf:property name="Engine Reservation Expiration" 
value="${SFBEV15.engine.reservation.expiration}" />        
</sf:option>        

<sf:default-settings name="${SFBEV15.component.name}" action="update">            
  <sf:property name="Default Min Engines" value="${SFBEV15.min}" />            
  <sf:property name="Default Max Engines" value="${SFBEV15.max}" />            
  <sf:property name="Default Priority" value="${SFBEV15.priority}" /> 
</sf:default-settings>   

     
<sf:feature name="${SFBEV15.component.name}" action="add" 
  feature="HTTP Support" />        
<sf:feature name="${SFBEV15.component.name}" 
 action="update" feature="HTTP Support">            
  <sf:property name="Relative Url" value="${SFBEV15.relative.url}" />            
  <sf:property name="Routing Prefix" value="${SFBEV15.routing.prefix}" />            
  <sf:property name="HTTPS Enabled" value="${SFBEV15.https.enabled}" />            
  <sf:property name="HTTP Enabled" value="${SFBEV15.http.enabled}" />            
  <sf:property name="Route Directly To Endpoints" 
value="${SFBEV15.route.directly.to.endpoints}" />        
</sf:feature>        

<sf:feature name="${SFBEV15.component.name}" action="add" 
feature="Archive Management Support" />        
<sf:feature name="${SFBEV15.component.name}" action="update" 
feature="Archive Management Support">            
  <sf:property name="Archive" value="${SFBEV15.archive}" />            
  <sf:property name="Start Archives On Activation" 
value="${SFBEV15.start.archives.on.activation}" />        
</sf:feature>        

<sf:feature name="${SFBEV15.component.name}" action="add" 
feature="Application Logging Support" />        
<sf:feature name="${SFBEV15.component.name}" action="update" 
feature="Application Logging Support">            
  <sf:property name="Checkpoint Frequency In Seconds" 
value="${SFBEV15.checkpoint.frequency.in.seconds}" />            
  <sf:property name="Archive Application Logs" 
value="${SFBEV15.archive.application.logs}" />            
  <sf:property name="Log File Pattern" value="${SFBEV15.log.file.pattern}" />        
</sf:feature>        

<sf:content-file type="component" name="${SFBEV15.component.name}" 
action="add">            
  <sf:contentset dir="${SFBEV15.content.dir}">                
   <include name="**/*.*" />            
  </sf:contentset>        
</sf:content-file> 
       
<sf:archive-file name="${SFBEV15.component.name}" action="add" >            
 <path>                
   <pathelement path="${SFBEV15.archive.0.path}" />            
 </path>        
</sf:archive-file>     

 

<sf:context-variable type="component" name="${SFBEV15.component.name}" 
action="update">            
  <sf:contextvar name="NB_HAWK_RESTART_BEFORE_RESTART_ENGINE" type="string" 
   value="${SFBEV15.contextvar.nb.hawk.restart.before.restart.engine}" 
   export="false" autoincrement="none" description="null" />            
   <sf:contextvar name="HAWK_POLLPERIOD" type="string" 
   value="${SFBEV15.contextvar.hawk.pollperiod}" 
   export="false" autoincrement="none" description="null" />            
   <sf:contextvar name="NB_BE_RESTART_BEFORE_RESTART_ENGINE" type="string" 
   value="${SFBEV15.contextvar.nb.be.restart.before.restart.engine}" 
export="false" autoincrement="none" description="null" />
<sf:contextvar name="BE_POLLPERIOD" type="string" 
value="${SFBEV15.contextvar.be.pollperiod}" export="false" 
autoincrement="none" description="null" />            
<sf:contextvar name="HTTP_PORT_BASE" type="environment" 
value="${SFBEV15.contextvar.http.port.base}" 
export="false" autoincrement="none" description="Consult the user 
documentation on automated HTTP port setting" />            
<sf:contextvar name="HTTP_PORT_INCREASE" type="environment" 
value="${SFBEV15.contextvar.http.port.increase}" 
export="false" autoincrement="none" 
description="Consult the user documentation on automated HTTP port setting" />            
<sf:contextvar name="IS_PREPAND" type="environment" 
value="${SFBEV15.contextvar.is.prepand}" export="false" 
autoincrement="none" description="null" />            
<sf:contextvar name="EXTERNAL_JAR_FILE" type="environment" 
value="${SFBEV15.contextvar.external.jar.file}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="PLUGIN_CONFIG_FILE" type="environment" 
value="${SFBEV15.contextvar.plugin.config.file}" 
 export="false" autoincrement="none" description="null" />            
<sf:contextvar name="USE_OPT_EMS_DISTRO" type="environment" 
value="${SFBEV15.contextvar.use.opt.ems.distro}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="USE_OPT_SB_DISTRO" type="environment" 
value="${SFBEV15.contextvar.use.opt.sb.distro}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="USE_DEPEND_TEASERVER" type="environment" 
value="${SFBEV15.contextvar.use.depend.teaserver}" 
export="false" autoincrement="none" 
description="Requires a running TEA component" />            
<sf:contextvar name="BE_TEAGENT_PORT_BASE" 
type="environment" value="${SFBEV15.contextvar.be.teagent.port.base}" 
export="false" autoincrement="numeric" description="null" />            
<sf:contextvar name="TEA_SERVER_URL" type="environment"
value="${SFBEV15.contextvar.tea.server.url}" 
export="false" autoincrement="none" 
description="URL of existing TEA Server to connect to" />            
<sf:contextvar name="TEA_SERVER_USERNAME" type="environment" 
value="${SFBEV15.contextvar.tea.server.username}" 
export="false" autoincrement="none" 
description="Username of existing TEA Server to connect to" />            
<sf:contextvar name="BE_TEA_USE_CUSTOM_SSH_KEYS" type="environment" 
value="${SFBEV15.contextvar.be.tea.use.custom.ssh.keys}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="BE_TEA_SSH_PRIVATE_KEY" type="environment" 
value="${SFBEV15.contextvar.be.tea.ssh.private.key}" 
export="false" autoincrement="none" 
description="Private key file path for password-less SSH authentication" />            
<sf:contextvar name="BE_TEA_SSH_PUBLIC_KEY" type="environment" 
value="${SFBEV15.contextvar.be.tea.ssh.public.key}" 
export="false" autoincrement="none" description="null" /> 

<sf:contextvar name="TEA_SSL_ENABLED" type="environment" value=
  "${BE_Component.contextvar.tea.ssl.enabled}" export="false" 
   autoincrement="none" description="null" />
<sf:contextvar name="BE_TEA_SSL_SERVER_CERT" type="environment" 
 value="${BE_Component.contextvar.be.tea.ssl.server.cert}" export="false" 
  autoincrement="none" description="Server SSL certificate path" />
 <sf:contextvar name="BE_TEA_SSL_CLIENT_CERT" type="environment" 
  value="${BE_Component.contextvar.be.tea.ssl.client.cert}" 
   export="false" autoincrement="none" description="Client SSL 
   certificate path" />
  <sf:contextvar name="BE_JRE_VERSION" type="environment" value=
   "${BE_Component.contextvar.be.jre.version}" export="false" 
   autoincrement="none" description="The JRE version required for 
   BusinessEvents" />
   <sf:contextvar name="BE_TEA_AGENT_REQUEST_TIMEOUT" type="environment" 
    value="${BE_Component.contextvar.be.tea.agent.request.timeout}" 
   export="false" autoincrement="none" description="The TIBCO BusinessEvents 
    Enterprise Administrator Agent request timeout" />  
         
<sf:contextvar name="BE_USE_SB_CHANNEL" type="environment" 
value="${SFBEV15.contextvar.be.use.sb.channel}" 
export="false" autoincrement="none" 
description="Requires BE 5.4.1.0.0 distribution or later" />            
<sf:contextvar name="DELETE_BE_TEA_MACHINE_ON_SHUTDOWN" type="environment" 
value="${SFBEV15.contextvar.delete.be.tea.machine.on.shutdown}" 
export="false" autoincrement="none" 
description="Condition to delete the machine registered in TEA Server. 
Works in fast TLM restart" />            
<sf:contextvar name="JDBC_DRIVER_FILE" type="environment" 
value="${SFBEV15.contextvar.jdbc.driver.file}" 
export="false" autoincrement="none" 
description="Only if the Domain is stored in a database" />            
<sf:contextvar name="DOMAIN_ENABLE_EMS_SSL" type="environment" 
value="${SFBEV15.contextvar.domain.enable.ems.ssl}" 
export="false" autoincrement="none" 
description="If EMS SSL is enable for the domain" />            
<sf:contextvar name="EMS_SSL_TRUSTED" type="environment" 
value="${SFBEV15.contextvar.ems.ssl.trusted}" export="false" 
autoincrement="none" description="If EMS SSL is enable for the domain" />            
<sf:contextvar name="EMS_SSL_IDENTITY" type="environment" 
value="${SFBEV15.contextvar.ems.ssl.identity}" export="false" 
autoincrement="none" description="If EMS SSL is enable for the domain" />            
<sf:contextvar name="EMS_SSL_PRIVATE_KEY" type="environment" 
value="${SFBEV15.contextvar.ems.ssl.private.key}" 
export="false" autoincrement="none" 
description="If EMS SSL is enable for the domain" />            
<sf:contextvar name="NOTIFIER_EMS_SSL_VENDOR" type="environment" 
value="${SFBEV15.contextvar.notifier.ems.ssl.vendor}" 
export="false" autoincrement="none" description="The EMS SSL vendor" />            
<sf:contextvar name="DELETE_APPLICATION_CONF_AT_SHUTDOWN" 
type="environment" 
value="${SFBEV15.contextvar.delete.application.conf.at.shutdown}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="DO_NOT_REDEPLOY_EAR_FILE_AT_STARTUP" type="environment" 
value="${SFBEV15.contextvar.do.not.redeploy.ear.file.at.startup}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="MANAGED_PROCESS_HAWK_AGENT_ENABLED" type="environment" 
value="${SFBEV15.contextvar.managed.process.hawk.agent.enabled}" 
export="false" autoincrement="none" 
description="If the regular stop is not succesfull" />            
<sf:contextvar name="MANAGED_PROCESS_SERVICE_ENABLED" type="environment" 
value="${SFBEV15.contextvar.managed.process.service.enabled}" 
export="false" autoincrement="none" 
description="If the regular stop is not succesfull" />            
<sf:contextvar name="LOGICAL_MACHINE_NAME" type="environment" 
value="${SFBEV15.contextvar.logical.machine.name}" export="false" 
autoincrement="none" 
description="Unique Application Component machine name instantiated only once" />            
<sf:contextvar name="DOMAINDATA_DIR" type="environment" 
value="${SFBEV15.contextvar.domaindata.dir}" 
export="false" autoincrement="none" description="Share drive where deployment 
  configuration will be created" />            
<sf:contextvar name="TIBCO_SERVICES_STATE_AFTER_TLM_MOVED" 
type="environment" 
value="${SFBEV15.contextvar.tibco.services.state.after.tlm.moved}" 
export="false" autoincrement="none" 
description="On logical machine restart, all services are either 
 started or stopped" />            
<sf:contextvar name="USE_FULL_ARCHIVE_NAME" type="environment" 
value="${SFBEV15.contextvar.use.full.archive.name}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="WITHOUT_TRA" type="environment" 
value="${SFBEV15.contextvar.without.tra}" export="false" 
autoincrement="none" description="null" />            
<sf:contextvar name="BE_EXECUTION_MODE" 
type="environment" value="${SFBEV15.contextvar.be.execution.mode}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="AMI_HAWK_SERVICE" type="environment"  
value="${SFBEV15.contextvar.ami.hawk.service}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="AMI_HAWK_DAEMON" type="environment" 
value="${SFBEV15.contextvar.ami.hawk.daemon}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="AMI_HAWK_NETWORK" type="environment" 
value="${SFBEV15.contextvar.ami.hawk.network}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="HAWK_PLUGIN_CONFIG_FILE" type="environment" 
value="${SFBEV15.contextvar.hawk.plugin.config.file}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="ACTION_TO_PERFORM_FOR_HAWK_FILE" type="environment" 
value="${SFBEV15.contextvar.action.to.perform.for.hawk.file}" 
export="false" autoincrement="none" description="null" />            
<sf:contextvar name="HTTPChannel_STREAMBASE_PASSWORD" 
type="string" value="${SFBEV15.contextvar.httpchannel.streambase.password}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_JMX_PORT" type="string" 
value="${SFBEV15.contextvar.httpchannel.jmx.port}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_STREAMBASE_SERVERURI" type="string" 
value="${SFBEV15.contextvar.httpchannel.streambase.serveruri}" 
export="true" autoincrement="none" description="" />           
<sf:contextvar name="HTTPChannel_PUID" type="string" 
value="${SFBEV15.contextvar.httpchannel.puid}" export="true" 
autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_CDD" type="string" 
value="${SFBEV15.contextvar.httpchannel.cdd}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_NAME" type="string" 
value="${SFBEV15.contextvar.httpchannel.name}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_STREAMBASE_USERNAME" type="string" 
value="${SFBEV15.contextvar.httpchannel.streambase.username}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="HTTPChannel_GLOBAL_FILE" type="string" 
value="${SFBEV15.contextvar.httpchannel.global.file}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fdsb_STREAMBASE_SERVERURI"
type="string" value="${SFBEV15.contextvar.fdsb.streambase.serveruri}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fdsb_STREAMBASE_PASSWORD" type="string" 
value="${SFBEV15.contextvar.fdsb.streambase.password}" export="true" 
autoincrement="none" description="" />           
<sf:contextvar name="fdsb_NAME" type="string" 
value="${SFBEV15.contextvar.fdsb.name}" export="true" 
autoincrement="none" description="" />            
<sf:contextvar name="fdsb_PUID" type="string" 
value="${SFBEV15.contextvar.fdsb.puid}" export="true" autoincrement="none" 
description="" />            
<sf:contextvar name="fdsb_GLOBAL_FILE" type="string" 
value="${SFBEV15.contextvar.fdsb.global.file}" export="true" 
autoincrement="none" description="" />            
<sf:contextvar name="fdsb_JMX_PORT" type="string" 
value="${SFBEV15.contextvar.fdsb.jmx.port}" export="true" autoincrement="none" 
description="" />            
<sf:contextvar name="fdsb_STREAMBASE_USERNAME" type="string" 
value="${SFBEV15.contextvar.fdsb.streambase.username}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fdsb_CDD" type="string" 
value="${SFBEV15.contextvar.fdsb.cdd}" export="true" autoincrement="none" 
description="" />            <sf:contextvar name="DEMOA" 
type="string" value="${SFBEV15.contextvar.demoa}" export="false" 
autoincrement="none" description="" />            
<sf:contextvar name="fd_STREAMBASE_PASSWORD" type="string" 
value="${SFBEV15.contextvar.fd.streambase.password}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fd_STREAMBASE_USERNAME" 
type="string" value="${SFBEV15.contextvar.fd.streambase.username}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fd_STREAMBASE_SERVERURI" type="string" 
value="${SFBEV15.contextvar.fd.streambase.serveruri}" 
export="true" autoincrement="none" description="" />            
<sf:contextvar name="fd_CDD" type="string" 
value="${SFBEV15.contextvar.fd.cdd}" export="true" 
autoincrement="none" description="" />            
<sf:contextvar name="fd_PUID" type="string" 
value="${SFBEV15.contextvar.fd.puid}" export="true" autoincrement="none" 
description="" />            
<sf:contextvar name="fd_JMX_PORT" type="string" 
value="${SFBEV15.contextvar.fd.jmx.port}" export="true" 
autoincrement="none" description="" />            
<sf:contextvar name="fd_GLOBAL_FILE" type="string" 
value="${SFBEV15.contextvar.fd.global.file}" export="true" 
 autoincrement="none" 
description="" />            
<sf:contextvar name="fd_NAME" type="string" 
 value="${SFBEV15.contextvar.fd.name}"
 export="true" autoincrement="none" 
description="" />            
<sf:contextvar name="TEA_SERVER_PASSWORD" type="encrypted" 
value="${SFBEV15.contextvar.tea.server.password}" 
export="false" autoincrement="none" 
description="Password of existing TEA Server to connect to" />            
<sf:contextvar name="BE_TEA_SSH_KEY_PASSPHRASE" type="encrypted" 
value="${SFBEV15.contextvar.be.tea.ssh.key.passphrase}" 
export="false" autoincrement="none" 
description="Passphrase to private key file for password-less 
 SSH authentication" />        
</sf:context-variable>        

<sf:publish type="component" name="${SFBEV15.component.name}" />    
</target>   

 
<target name="clean-SFBEV15-component">        
<echo message="Cleaning ${SFBEV15.component.name}" />        
<sf:unpublish type="component" name="${SFBEV15.component.name}" 
 onerror="ignore" />        
<sf:remove type="component" 
name="${SFBEV15.component.name}" onerror="ignore" />    </target>    

<target name="release-stack">        
<echo message="Building ${stack.name}" />        
<sf:stack action="create" name="${stack.name}" 
description="${stack.description}"/>        
<sf:stack-component action="add" name="${stack.name}" 
components="${SFBEV15.component.name}" /><!--  uncomment 
this section to create schedules-->        
<sf:stack-policy action="update" name="${stack.name}" >            
<sf:policy manualpolicy="true">                
<sf:compalloc component="${SFBEV15.component.name}" 
min="${Stack_BE.policy.0SFBEV15.min}" 
max="${Stack_BE.policy.0SFBEV15.max}"
 priority="${Stack_BE.policy.0SFBEV15.priority}"/>            
</sf:policy>        </sf:stack-policy>        
<sf:publish type="stack" name="${stack.name}" />        
<sf:stack-mode name="${stack.name}" action="run" mode="${stack.mode}" />    
</target>    

<target name="clean-stack">      
<echo message="Cleaning ${stack.name}" />        
<sf:unpublish type="stack" name="${stack.name}" onerror="ignore" />        
<sf:remove type="stack" name="${stack.name}" onerror="ignore" />
<!--  uncomment this section to remove schedules on clean-->    
</target>

</project>