| In order to use any of the macros defined in this page, you must import the bda-build-utils.xml file (containing macrodef) within your build script. |
If you choose to use the macros without using all the BDA utilities, you can import this file in your build script like this:
<import file="bda-build-utils.xml" />
BDA Utilities (Ant Macros)
App Server Configuration Macros
Enable access log in JBoss or Tomcat
Macro Name: appserver-accesslog-configure
Version available - 0.9.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This utility enables the access log valve in tomcat (tomcat is included in jboss) allowing for an apache like access log.
Attributes:
appserver.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) - The configuration dir for tomcat (including JBoss embedded tomcat).
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - The location of the server.xml
appserver.server-xml.service.name (jboss.web) - The service name within the xml to update (jboss.web for JBoss, and Catalina for Tomcat)
appserver.hostname (${jboss.server.hostname}) - The default hostname within the xml file.
Requirements:
Example usage:
<appserver-accesslog-configure
/>
Enable SSL for Tomcat or JBoss
Macro Name: appserver-ssl-configure
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro configures JBoss or Tomcat to enable a port that uses SSL. Since the code required for enabling this configuration is so similar it was generisized into one macro. The arguments for this macro default to JBoss but can be passed in with values for Tomcat. See this link for more info.
Attributes:
appserver.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) - The conf directory of the appserver and the directory where the keystore file
will be placed.
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - Where the server.xml file is.
appserver.server-xml.service.name (jboss.web) - The service name within the server.xml where the port configuration lives (jboss.web for JBoss and Catalina for Tomcat)
appserver.ssl.enable (${jboss.ssl.enable}) - A flag as to whether to enable SSL, must be set to true.
appserver.ssl.port (8443) - Port number to use for the SSL enabled port. This value should be 8443 for JBoss since we use bindings to configure ports (the actual port will be jboss.server.port +363). For Tomcat this should be the value of tomcat.ssl.port.
appserver.ssl.keystore.file (${jboss.ssl.keystore.file}) - The file that holds the public/private key pair and any CA cert files.
appserver.ssl.keystore.dir (${jboss.ssl.keystore.dir}) - The directory where this file is.
appserver.ssl.keystore.pass (${jboss.ssl.keystore.pass}) - The password to access the keystore.
appserver.ssl.keystore.alias (${jboss.ssl.keystore.alias}) - The Alias the certificate is referenced by.
appserver.ssl.fullyqualified.hostname (${jboss.ssl.fullyqualified.hostname}) - The fully qualified hostname of that certificate (www.something.com).
Requirements:
- Keystore File- The file including the public/private key pair used for ssl.
- Alias - The alias of the certificate
- Password - The password to open the keyfile.
- Fully Qualified Hostname- The fully qualified host name (www.something.com) used by the certificate.
Example usage:
<appserver-ssl-configure
/>
Enabling a Secure Grid (not SSL, but close)
Macro Name: grid-secure-configure-connector
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro will configure Secure Port for Grid services. See this link for more info. This macro is conditionally called by jboss-configure and tomcat-configure macros.
Attributes:
appserver.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) - The conf directory of the appserver and the directory where the keystore file
will be placed.
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - Where the server.xml file is.
appserver.server-xml.service.name (jboss.web) - The service name within the server.xml where the port configuration lives (jboss.web for JBoss and Catalina for Tomcat)
grid.secure.enable (${grid.secure.enable}) - This flag must be set to true to enable the secure port.
grid.secure.port (${grid.secure.port}) - The port that the secure grid listener listens on, different than JBoss/Tomcat SSL port.
grid.secure.dir (${grid.secure.dir}) - The directory where the key and cert files can be found.
grid.secure.key.file (${grid.secure.key.file}) - Key files generated by the Gaards UI.
grid.secure.cert.file (${grid.secure.cert.file}) - Cert file generated by the Gaards UI.
Requirements: The key and cert file generated by the Gaards UI.
Example usage:
<grid-secure-configure-connector
/>
Macro Name: grid-secure-configure-valve
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro will configure Secure valve for Grid services. See this link for more info. This macro is conditionally called by jboss-configure and tomcat-configure macros.
Attributes:
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - Where the server.xml file is.
appserver.server-xml.service.name (jboss.web) - The service name within the server.xml where the port configuration lives (jboss.web for JBoss and Catalina for Tomcat)
Requirements:
Example usage:
<grid-secure-configure-valve
/>
Configures the Application server to respond with an external name
Macro Name: appserver-configure-external-hostname
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - Where the server.xml file is.
appserver.server-xml.service.name (jboss.web) - The service name within the server.xml where the port configuration lives (jboss.web for JBoss and Catalina for Tomcat)
appserver.external.host (${jboss.external.ssl.host}) - The fully qualified hostname (www.something.com) to access the site from the internet.
appserver.external.port (${jboss.external.ssl.port}) - The port to access the site from the internet often 80 or 443 when you use NATing.
proxy.update.connector.port (8443) - The "local" port the service is listening on. When I say local is the port the Application Server is configured to listen on, for JBoss it will always be 8443, for tomcat it will be tomcat.port.http or tomcat.port.ssl, depending on which protocol you are using.
Requirements:
Example usage:
<appserver-configure-external-hostname
/>
Configuring Tomcat Datasource
Macro Name: tomcat-configure-server-xml-db
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This target will configure the datasource for tomcat in the server.xml.
Attributes:
tomcat.home (${tomcat.home}) - The base directory for tomcat.
database.driver (${database.driver}) - The database driver name (com.mysql.jdbc.Driver)
database.url (${database.url}) - The JDBC URL to connect to the database (jdbc:mysql://${database.server}:${database.port}/${database.name})
database.user (${database.user}) - The user to connect to the database with.
database.password (${database.password}) - The password for that user.
database.name (${database.name}) - The name of the database.
database.jndi.datasource.name (${database.jndi.datasource.name}) - The JNDI Data source name.
database.context.path (${database.jndi.datasource.name}) - The JNDI Context path of the data source.
Requirements:
Example usage:
<tomcat-configure-server-xml-db
/>
Configure Tomcat Installation
Macro Name: tomcat-configure
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro will alter the configuration files included with Tomcat set tomcat up as desired. Below is what it actually does.
- Calls the following Macros
- tomcat-configure-server-xml-db
- appserver-ssl-configure
- appserver-configure-external-hostname
- appserver-configure-hostname
- grid-secure-configure-connector
- grid-secure-configure-valve
- Configures the ports in the server.xml
Attributes:
tomcat.port.http (${tomcat.port.http}) - HTTP Port
tomcat.port.ssl (${tomcat.port.ssl}) - HTTPS Port
tomcat.port.ajp (${tomcat.port.ajp}) - AJP Port (for recieving AJP connections, like from apache)
tomcat.port.shutdown (${tomcat.port.shutdown}) - Shutdown Port
tomcat.home (${tomcat.home}) - Base Directory of Tomcat
database.driver (${database.driver}) - The database driver name (com.mysql.jdbc.Driver)
database.url (${database.url}) - The JDBC URL to connect to the database (jdbc:mysql://${database.server}:${database.port}/${database.name})
database.user (${database.user}) - The user to connect to the database with.
database.password (${database.password}) - The password for that user.
database.name (${database.name}) - The name of the database.
database.jndi.datasource.name (${database.jndi.datasource.name}) - The JNDI Data source name.
database.context.path (${database.jndi.datasource.name}) - The JNDI Context path of the data source.
tomcat.conf.dir (${tomcat.home}/conf) - The conf dir of Tomcat
tomcat.server-xml.file (${tomcat.home}/conf/server.xml) - The server.xml file location
tomcat.server-xml.service.name (Catalina) - The Service name in the server.xml where updateds need to happen
tomcat.ssl.enable (${tomcat.ssl.enable}) - Whether to enable ssl on Tomcat.
tomcat.ssl.port (${tomcat.port.ssl}) - The SSL Port for tomcat
tomcat.ssl.keystore.file (${tomcat.ssl.keystore.file}) - The Keystore file
tomcat.ssl.keystore.dir (${tomcat.ssl.keystore.dir}) - The dir where the Kestore file can be found
tomcat.ssl.keystore.pass (${tomcat.ssl.keystore.pass}) - The password to access the keystore file
tomcat.ssl.keystore.alias (${tomcat.ssl.keystore.alias}) - The alias for the Certificate in the keystore
tomcat.ssl.fullyqualified.hostname (${tomcat.ssl.fullyqualified.hostname}) - The fully qualified hostaname in the certificate (www.something.com)
tomcat.external.ssl.host (${tomcat.external.ssl.host}) - The fully qualified hostname to access the SSL port from the internet (often different from how it accessed internally)
tomcat.external.ssl.port (${tomcat.external.ssl.port}) - The Port number to access from the internet.
tomcat.external.http.host (${tomcat.external.http.host}) - The fully qualified hostname to access the HTTP port from the internet (often different from how it accessed internally)
tomcat.external.http.port (${tomcat.external.http.port}) - The Port number to access from the internet.
proxy.update.connector.port.ssl (8443) - The connector record port number to update with the proxy configuration for SSL external host names.
proxy.update.connector.port.http (8080) - The connector record port number to update with the proxy configuration for SSL external host names.
grid.external.secure.host (${grid.external.secure.host}) - The fully qualified hostname to access the Grid SSL from the internet (often different from how it accessed internally)
grid.external.secure.port (${grid.external.secure.port}) - The Port number to access from the internet.
tomcat.hostname (${tomcat.hostname}) - The hostname for tomcat, used to update the engine and host records in server.xml
grid.secure.enable (${grid.secure.enable}) - Whether to deploy a secure grid
grid.secure.dir (${grid.secure.dir}) - The Directory where the key and cert files are
grid.secure.key.file (${grid.secure.key.file}) - Key files generated by the Gaards UI.
grid.secure.cert.file (${grid.secure.cert.file}) - Cert file generated by the Gaards UI.
Requirements: All the requirements of the called macros.
Example usage:
Configuring a JBoss installation
Macro Name: jboss-configure
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: In an effort to make the templates simpler the code in the templates was moved to these macros. This macro updates files included with JBoss distribution to the desired configuration. Calls the following macros
- jboss-bindings
- jboss-login-config
- secure-jboss-console
- jboss-update-shutdown
- appserver-ssl-configure
- appserver-configure-external-hostname
- appserver-configure-hostname
- grid-secure-configure-connector
- grid-secure-configure-valve
- jboss-configure-java_opts
Attributes:
jboss.home (${jboss.home}) - The base directory of JBoss
jboss.server.name (${jboss.server.name}) - The server name where JBoss is configured (generally default)
jboss.server.ports.name (${jboss.port.configuration}) - If set causes the binding macro to use an existing port configuration from the NCICB Standard JBoss ports file instead of configuring based on the rest of the properties based on filtering a template file.
jboss.server.bindingfile.location (${jboss.home}/server/${jboss.server.name}/conf/${jboss-bindings.file}) - Where to copy the bindings file to.
jboss.server.binding.template.location (${jboss.home}/server/${jboss.server.name}/conf/bindings.xml) - Where to get the bindings file template from.
jboss.server.service.template.location (${bda-utils.resource.dir}/template-jboss-service.xml) - Where to copy the jboss-service.xml template from.
authentication.type (${authentication.type}) - Which type of authentication to use db or ldap (determines contents of login-config.xml)
login-config.ldap.file (${jboss-conf.dir.dest}/login-config.ldap-block.xml) - The location of template file to use for ldap authentication.
login-config.db.file (${jboss-conf.dir.dest}/login-config.db-block.xml) - The location of template file to use for db authentication.
log4j.template.file (${jboss-conf.dir.dest}/template-log4j.xml) - The location of the log4j template file.
jboss.web.user (${jboss.web.user}) - The User to access the JBoss web console apps.
jboss.web.password (${jboss.web.password}) - The password for that user
jboss.server.jndi.port (${jboss.server.jndi.port}) - The JNDI port for JBoss, is not used in configuration of JBoss but is used to test connecting, if you are using existing JBoss port configurations and don't specify the correct value the build could fail.
jboss.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) - The conf directory for JBoss.
jboss.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - The location of the server.xml file.
jboss.server-xml.service.name (jboss.web) - The Service in the server.xml where modification is required (differs between jboss and tomcat, this default is what is required for jboss)
jboss.ssl.enable (${jboss.ssl.enable}) - Whether to enable sSSL
jboss.ssl.port (8443) - The port number to be configured with this in the server.xml, you should not change this value because the JBoss bindings use this value to translate to what is used at run time.
jboss.ssl.keystore.file (${jboss.ssl.keystore.file}) - The keystore file name used for SSL.
jboss.ssl.keystore.dir (${jboss.ssl.keystore.dir}) - The directory where that file is found.
jboss.ssl.keystore.pass (${jboss.ssl.keystore.pass}) - The password to access the keystore file.
jboss.ssl.keystore.alias (${jboss.ssl.keystore.alias}) - The alias in the keystore that identifies the cert you want to use.
jboss.ssl.fullyqualified.hostname (${jboss.ssl.fullyqualified.hostname}) - The fully qualified hostname that should be in the certificate.
jboss.external.ssl.host (${jboss.external.ssl.host}) - The fully qualified hostname to access the SSL port from the internet (often different from how it accessed internally)
jboss.external.ssl.port (${jboss.external.ssl.port}) - The Port number to access from the internet.
proxy.update.connector.port.ssl (8443) - The connector record port number to update with the proxy configuration for SSL external host names.
jboss.external.http.host (${jboss.external.http.host}) - The fully qualified hostname to access the HTTP port from the internet (often different from how it accessed internally)
jboss.external.http.port (${jboss.external.http.port}) - The Port number to access from the internet.
proxy.update.connector.port.http (8080) - The connector record port number to update with the proxy configuration for HTTP external host names.
grid.external.secure.host (${grid.external.secure.host}) - The fully qualified hostname to access the Grid SSL port from the internet (often different from how it accessed internally)
grid.external.secure.port (${grid.external.secure.port}) - The Port number to access from the internet.
jboss.hostname (${jboss.server.hostname}) - The hostname of jboss used in updating the engine and host records in server.xml.
grid.secure.dir (${grid.secure.dir}) - The directory where the key and cert files are located.
grid.secure.enable (${grid.secure.enable}) - Whether to use secure grid.
grid.secure.key.file (${grid.secure.key.file}) - The key file generated by the Gaards UI
grid.secure.cert.file (${grid.secure.cert.file}) - The cert file generated by the Gaards UI
jboss.java.opts (${jboss.java.opts}) - Java options to use when starting JBoss.
Requirements:
Example usage:
Host to set the hostname in server.xml
Macro Name: appserver-configure-hostname
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro will update the tomcat (tomcat is included in jboss) server.xml setting the default hostname and the host record names to the value you provide
Attributes:
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) - Where the server.xml is
appserver.server-xml.service.name (jboss.web) - The service name to update (jboss.web for JBoss and Catalina for Tomcat)
appserver.hostname (${jboss.server.hostname}) - The hostname you want it set to.
Requirements:
Example usage:
<appserver-configure-hostname
/>
Update the java options for JBoss
Macro Name: jboss-configure-java_opts
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Overwrites the JAVA_OPTS value with what you provide in JBoss run.conf for linux or run.bat for windows
Attributes:
jboss.home (${jboss.home}) - The base directory of JBoss
jboss.java.opts (${jboss.java.opts}) - The options you want to be used.
Requirements:
Example usage:
<jboss-configure-java_opts
/>
Install JBoss Binaries
Macro Name: jboss-install-binaries
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro installs the JBoss binaries. If the binaries file ends in zip it extracts it, if it ends in jar it assumes it is a JEMS installer and uses the appropriate command for a JEMS unattended install. It also adds execute permissions to *.sh in the ${jboss.home}/bin directory.
Attributes:
application.base.path (${application.base.path}) - Base path to install JBoss in
jboss.binaries.file (${tools.dir}/${jboss.binaries.file}) - The binary file to use
Requirements:
Example usage:
<jboss-install-binaries
/>
Configure authentication setting for JBoss
Macro Name: jboss-login-config
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This target will insert the contents of an XML file for a "application-policy" into the login-config.xml. You would need one file per authentication type (ldap and db). You should pass in both file locations and authentication.type will determine which is inserted. If your application supports both ldap and database then make sure the ldap authentication xml file includes both authentication definitions. It is highly recommended that these files be tokenized.
Attributes:
authentication.type (${authentication.type}) - ldap or db
jboss.home (${jboss.home}) - The JBOSS.HOME
jboss.server.name (${jboss.server.name}) - The server name (${jboss.home}/server/${jboss.server.name})
login-config.ldap.file ( ) - The file with the "application-policy" for ldap (if both are used then have db in this file also)
login-config.db.file ( ) - The file with the "application-policy" for db
Requirements:
Example usage:
<jboss-login-config
login-config.ldap.file="ldap-xml-file"
login-config.db.file="db-xml-file"
/>
Configure and validate settings for log4j in JBoss
Macro Name: jboss-log4j-config
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Part of releasing code to production includes having a manageable logging strategy. We have added a log4j configuration template file and some new properties to support this.
Attributes:
jboss.home (${jboss.home}) - The JBOSS.HOME
jboss.server.name (${jboss.server.name}) - The server name (${jboss.home}/server/${jboss.server.name})
log4j.template.file ( ) - The location of template file.
Requirements:
Property |
Description |
log4j.maxFileSize |
Maximum size of the server.log |
log4j.maxDays |
Number of days to keep the files (assuming daily roller) |
log4j.level |
Log4J level (DEBUG, INFO, WARN, ERROR...) |
Example usage:
<jboss-log4j-config
log4j.template.file="template-log4j.xml"
/>
jboss-update-shutdown
| Under Construction. |
Macro Name: jboss-update-shutdown
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.hostname (${jboss.server.hostname}) -
jboss.server.jndi.port (${jboss.server.jndi.port}) -
Requirements:
Example usage:
<jboss-update-shutdown
/>
jboss-update-runconf
| Under Construction. |
Macro Name: jboss-update-runconf
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.java.opts (${jboss.java.opts}) -
Requirements:
Example usage:
jboss-bindings
| Under Construction. |
Macro Name: jboss-bindings
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
jboss.server.ports.name (ports-01) -
jboss.server.bindingfile.location (${jboss.home}/server/${jboss.server.name}/conf/bindings.xml) -
jboss.server.binding.template.location (${bda-utils.resource.dir}/template-binding.xml) -
jboss.server.service.template.location (${bda-utils.resource.dir}/template-jboss-service.xml) -
Requirements:
Example usage:
secure-jboss-console
| Under Construction. |
Macro Name: secure-jboss-console
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
jboss.web.user (${jboss.web.user}) -
jboss.web.password (${jboss.web.password}) -
Requirements:
Example usage:
Application Configuration Macros
Configure the grid deployment for a secure grid deployment
Macro Name: grid-secure-configure-secdesc
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
appserver.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) - The conf directory of the appserver and the directory where the keystore file
will be placed.
appserver.webapp.dir (${jboss.home}/server/${jboss.server.name}/deploy/) - The directory where the web applications are deployed for the app server.
secdesc.file (@{appserver.webapp.dir}/wsrf/WEB-INF/etc/globus_wsrf_core/global_security_descriptor.xml) - The location of the security descriptor files which tells the grid where the certificate and key files are found.
grid.secure.key.file (${grid.secure.key.file}) - Key files generated by the Gaards UI.
grid.secure.cert.file (${grid.secure.cert.file}) - Cert file generated by the Gaards UI.
Requirements: The key and cert file generated by the Gaards UI.
Example usage:
<grid-secure-configure-secdesc
/>
Macro Name: grid-configure-server-config
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro configures the server-config.wsdd for external hostnames and secure grid configurations.
Attributes:
appserver.webapp.dir (${jboss.home}/server/${jboss.server.name}/deploy/) - The directory where the web applications are deployed for the app server.
secdesc.file (@{appserver.webapp.dir}/wsrf/WEB-INF/etc/globus_wsrf_core/global_security_descriptor.xml) -
server-config.file (@{appserver.webapp.dir}/wsrf/WEB-INF/etc/globus_wsrf_core/server-config.wsdd) - The location of the grid server config file.
grid.secdesc.file (@{appserver.webapp.dir}/wsrf/WEB-INF/etc/globus_wsrf_core/global_security_descriptor.xml) - The location of the grid security descriptor files which tells the grid where the
grid.external.secure.host (${grid.external.secure.host}) - External (internet facing) host name to reach grid secure port
grid.secure.enable (true) - Whether secure grid should be configured
Requirements:
Example usage:
<grid-configure-server-config
/>
Macro Name: update-grid-web-xml-protocol
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Sets the protocol type for the Grid application.
Attributes:
appserver.webapp.dir (${jboss.home}/server/${jboss.server.name}/deploy/) - The directory where the web applications are deployed for the app server.
web-xml.location (@{appserver.webapp.dir}/wsrf/WEB-INF/web.xml) - The location of the grid web application config file.
scheme (http) - Protocol scheme, http or https.
port (${jboss.server.port}) - Port used by that scheme.
Requirements:
Example usage:
<update-grid-web-xml-protocol
/>
grid-appserver-configure
| Under Construction. |
Macro Name: grid-appserver-configure
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
appserver.conf.dir (${jboss.home}/server/${jboss.server.name}/conf) -
appserver.webapp.dir (${jboss.home}/server/${jboss.server.name}/deploy) -
appserver.server-xml.file (${jboss.home}/server/${jboss.server.name}/deploy/jbossweb-tomcat55.sar/server.xml) -
appserver.server-xml.service.name (jboss.web) -
appserver.port.http (${jboss.server.port}) -
appserver.port.ssl (${jboss.ssl.port}) -
appserver.hostname (${jboss.server.hostname}) -
search.host (localhost) -
search.port (8080) -
grid.application.name (${grid.application.name}) -
grid.application.relative.dir (${grid.dir.dest}) -
grid.index.url (${grid.index.url}) -
grid.poc.science.affiliation (${grid.poc.science.affiliation}) -
grid.poc.science.name.last (${grid.poc.science.name.last}) -
grid.poc.science.name.first (${grid.poc.science.name.first}) -
grid.poc.science.phone (${grid.poc.science.phone}) -
grid.poc.science.role (${grid.poc.science.role}) -
grid.poc.science.email (${grid.poc.science.email}) -
grid.poc.tech.researchCenter.displayname (${grid.poc.tech.researchCenter.displayname}) -
grid.poc.tech.researchCenter.shortname (${grid.poc.tech.researchCenter.shortname}) -
grid.poc.tech.addr.country (${grid.poc.tech.addr.country}) -
grid.poc.tech.addr.locality (${grid.poc.tech.addr.locality}) -
grid.poc.tech.addr.postalCode (${grid.poc.tech.addr.postalCode}) -
grid.poc.tech.addr.stateProvince (${grid.poc.tech.addr.stateProvince}) -
grid.poc.tech.addr.street1 (${grid.poc.tech.addr.street1}) -
grid.poc.tech.addr.street2 (${grid.poc.tech.addr.street2}) -
grid.poc.tech.affiliation (${grid.poc.tech.affiliation}) -
grid.poc.tech.name.last (${grid.poc.tech.name.last}) -
grid.poc.tech.name.first (${grid.poc.tech.name.first}) -
grid.poc.tech.phone (${grid.poc.tech.phone}) -
grid.poc.tech.email (${grid.poc.tech.email}) -
grid.poc.tech.role (${grid.poc.tech.role}) -
grid.external.secure.host (${grid.external.secure.host}) -
grid.external.secure.port (${grid.external.secure.port}) -
grid.secure.enable (${grid.secure.enable}) -
grid.secure.dir (${grid.secure.dir}) -
grid.secure.port (${grid.secure.port}) -
grid.secure.key.file (${grid.secure.key.file}) -
grid.secure.cert.file (${grid.secure.cert.file}) -
grid.secdesc.file (@{appserver.webapp.dir}/wsrf/WEB-INF/etc/globus_wsrf_core/global_security_descriptor.xml) -
Requirements:
Example usage:
<grid-appserver-configure
/>
Database Macros
Fix for Liquibase path issue
Macro Name: database-upgrade-fix
Version available - 0.9.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This target updates the filename column of the liquibase metadata databasechangelog table, updating the path to be the same as the path where the script will be run as. Because filename is part of the key, it must be an exact match the database changelog file being applied otherwise it will not find the match and may run a change set more than once. This macro is called by database-upgrade,
Attributes:
database.driver (${database.driver}) - The database driver name.
database.url (${database.url}) - The JDBC URL to connect to the database
database.user (${database.user}) - The user the metadata table is stored under
database.password (${database.password}) - The password for that user
database.driver.file (${database.driver.file}) - The driver jar path and file name.
database.changelog.file (${os.temp.dir}/${project.name}/db-upgrade.xml) - The path and filename of the change to be applied, this is the value that gets updated in the table.
Requirements:
Example usage:
database-clean
| Under Construction. |
Macro Name: database-clean
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
database.driver (${database.driver}) -
database.system.url (${database.system.url}) -
database.system.user (${database.system.user}) -
database.system.password (${database.system.password}) -
database.version (5.0.27) -
database.name (${database.name}) -
database.server (${database.server}) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
database.schema (${database.schema}) -
database.re-create (${database.re-create}) -
database.drop-schema (${database.drop-schema}) -
Requirements:
Example usage:
Database Installation
Macro Name: database-install
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Runs a set of install scripts (baseline) on an existing empty database. Loops through list of files provided in variable passed in. Executes files in list order.
Attributes:
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
sql.delimiter - Default value of ;. This parameter determines what the jdbc driver uses as a command separator when parsing the sql file. ";" does not work for a delimiter when the files include programmatic constructs (function, procedures, triggers) in that case command should be separated by "/" on a a line by it's self after the command. Once the file has the correct format you can specify this value as "/";
sql.delimitertype - Default value of "normal". Normal works when using ";" as a sql.delimiter, but you need to use "row" when using "/" as a sql.delimiter.
onerror - Defaults to "abort". This what happens when an error is encountered when running sql, continue and abort are common values.
db-install.dir - Directory where all files used by this macro are located.
db.install.create.file.list - The comma-separated list of files to be applied to the database found in in the db-install.dir above. There can be no spaces in the list of files.
Requirements:
Environments: All
Example usage:
<target name="install:database:>
<database-install
db.install.create.file.list="${db.install.create.oracle.file.list}"
sql.delimiter="/"
sql.delimitertype="row"
/>
</target>
Database Upgrade (LiquiBase)
Macro Name: database-upgrade
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase to apply incremental scripts. Uses a driver xml file that determines what gets run. Creates and manages build meta-data tables.
Attributes:
database.driver - The name of the driver to be used.
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
Requirements: Must have custom taskdef to load LiquiBase custom tasks. Must have a change log file and any scripts it points to.
Environments: All
Example usage:
<target name="upgrade:database:>
<database-upgrade/>
</target>
Database Generate Changelog (LiquiBase)
Macro Name: database-genchangelog
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase generate a change log based on an existing database.
Attributes:
database.driver - The name of the driver to be used.
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
database.changelog.file - The path and file name for the generated file.
Requirements: Must have custom taskdef to load LiquiBase custom tasks.
Environments: All
Example usage:
<target name="database:gencl" description="Upgrades database using BDA Datbase Upgrade process." unless="exclude.database"
depends="
database:prep
">
<database-genchangelog
database.changelog.file="${target.dir}/generated-change-log.xml"
/>
</target>
Database Tag (LiquiBase)
Macro Name: database-tag
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase to tag the upgrade scripts and allow for future roll back the the current tag. Will tag an changesets that have not yet been tagged at run time. You should change the tag property regularly, so that you have several options to rollback to.
Attributes:
database.driver - The name of the driver to be used.
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
database.changelog.file - The path and file name for the generated file.
Requirements: Must have custom taskdef to load LiquiBase custom tasks. Additionally the "database.release.version" property should be set. We typically set this in the project.properties file for BDA projects.
Environments: All
Example usage:
<target name="upgrade:database:>
<database-upgrade/>
<database-tag/>
</target>
Database Rollback (LiquiBase)
Macro Name: database-rollback
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase to rollback the database to a previous version (currently we support only tags). This assumes that you have writen and configured rollback scripts in your change log, if not this process will not work.
Attributes:
database.driver - The name of the driver to be used.
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
database.changelog.file - The path and file name for the generated file.
Requirements: Must have custom taskdef to load LiquiBase custom tasks. Additionally the "database.rollback.version" property should be set. Since this is not part of a normal process you would set this local.properties or temporarily in another property file when you need to roll back. Must have a change log file and any scripts it points to.
Environments: All
Example usage:
<target name="upgrade:database:rollback">
<database-rollback/>
</target>
database-create
| Under Construction. |
Macro Name: database-create
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
database.driver (${database.driver}) -
database.system.url (${database.system.url}) -
database.system.user (${database.system.user}) -
database.system.password (${database.system.password}) -
database.version (5.0.27) -
database.name (${database.name}) -
database.server (${database.server}) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
Requirements:
Example usage:
jboss-read-dbconfig
| Under Construction. |
Macro Name: jboss-read-dbconfig
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
jboss.ds-xml.file ( ) -
database.url.property.name (database.url) -
database.name.property.name (database.name) -
database.user.property.name (database.user) -
database.password.property.name (database.password) -
database.server.property.name (database.server) -
database.port.property.name (database.port) -
Requirements:
Example usage:
<jboss-read-dbconfig
jboss.ds-xml.file="somevalue"
/>
svn-getinfo
| Under Construction. |
Macro Name: svn-getinfo
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
my.path (${basedir}) -
Requirements:
Example usage:
Validation Macros
Validate JBoss/Tomcat versions
Macro Name: validate-appserver-versions
Version available - 0.9.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro, called by validate-pre-install, makes sure that both JBoss and Tomcat versions are ones supported by these macros. It determines this by parsing the *.binaries.relative.dir variables. The versions supported are set at the beginning of the macro file. It calls compare-version-major-min-patch which uses groovy for the comparison.
- JBoss 4.0.4-4.0.5
- Tomcat 5.0.x -5.5.x
Attributes:
jboss.binaries.relative.dir (${jboss.binaries.relative.dir}) -
tomcat.binaries.relative.dir (${tomcat.binaries.relative.dir}) -
Requirements:
Example usage:
<validate-appserver-versions
/>
Macro Name: compare-version-major-min-patch
Version available - 0.9.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro uses groovy to compare a version (major.minor.patch) to a min and max version. It must be greater than the min and less than the max otherwise the build will fail.
Attributes:
version.check ( ) - The version to check
version.min ( ) - The minimum version
version.max ( ) - The maximum version
Requirements:
Example usage:
<compare-version-major-min-patch
version.check="4.0.5"
version.min="4.0.0"
version.max="4.0.999"
/>
Verify a Keystore
Macro Name: verify-keystore
Version available - 0.8.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro, which is included in validate-pre-install, will verify that the keystore file exists, can be accessed by the password and alias provided and that the URL of the certificate matches that of the ULR Provided.
Attributes:
appserver.ssl.enable (${jboss.ssl.enable}) - A flag as to whether to enable SSL, must be set to true.
appserver.ssl.keystore.file (${jboss.ssl.keystore.file}) - The file that holds the public/private key pair and any CA cert files.
appserver.ssl.keystore.dir (${jboss.ssl.keystore.dir}) - The directory where this file is.
appserver.ssl.keystore.pass (${jboss.ssl.keystore.pass}) - The password to access the keystore.
appserver.ssl.keystore.alias (${jboss.ssl.keystore.alias}) - The Alias the certificate is referenced by.
appserver.ssl.fullyqualified.hostname (${jboss.ssl.fullyqualified.hostname}) - The fully qualified hostname of that certificate (www.something.com).
Requirements:
- Keystore File- The file including the public/private key pair used for ssl.
- Alias - The alias of the certificate
- Password - The password to open the keyfile.
- Fully Qualified Hostname- The fully qualified host name (www.something.com) used by the certificate.
Example usage:
validate-log4j
Macro Name: validate-log4j
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Makes sure the log4j settings are manageable. If any of the conditions below fail then the build fails.
- All appenders except console have to be rolling appenders.
- All appenders have to have a maxFileSize set below 1GB
- All appenders have to have a maxDays set below 15
Attributes:
log4j.template.file ( ) - Should be the filtered template file, so tokens are expanded.
Requirements:
Example usage:
<validate-log4j
log4j.template.file="log4j.xml"
/>
Perform checks prior to running a build to prevent errors
| Under Construction. |
Macro Name: validate-pre-build
Version available - 0.2
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: TBD
Attributes:
uml.dir - TBD
src.java.dir - TBD
uml.source.path - TBD
Environments: Developer Workstations and CI environment.
Example usage:
<target name="tbd">
</target>
check-wscore-exists
| Under Construction. |
Macro Name: check-wscore-exists
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
wscore.download.url (http://gforge.nci.nih.gov/svnroot/commonlibrary/trunk/techstack-2006/os-independent/ws-core-enum-4.0.3.zip) -
application.base.path (${application.base.path}) -
Requirements:
Example usage:
Property Validation
Macro Name: propertyvalidator
Version available - 0.2.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml/
Description: Compare the attributes of one .properties file to another .properties file to ensure consistency.
Attributes:
property.template.file - The template file in the project's SVN repo
envpropertyfile - The environment file containing the property values{}
Environments: DEV, QA, STAGE and PROD environment.
Example usage:
<compare-properties
property.template.file="upgrade-properties.template"
envpropertyfile="dev-upgrade.properties"/>
validate-pre-install
| Under Construction. |
Macro Name: validate-pre-install
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
database.driver (${database.driver}) -
database.system.url (${database.system.url}) -
database.system.user (${database.system.user}) -
database.system.password (${database.system.password}) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
database.version (5.0.27) -
database.name (${database.name}) -
validation.pre.port.list (${validation.pre.port.list}) -
ant.check.version (1.7.0) -
java.check.version.major (1.5) -
java.check.version.minor (1.5.0_10) -
property.template.file (${properties.template.file}) -
envpropertyfile (${properties.file}) -
jboss.ssl.enable (${jboss.ssl.enable}) -
jboss.ssl.keystore.file (${jboss.ssl.keystore.file}) -
jboss.ssl.keystore.dir (${jboss.ssl.keystore.dir}) -
jboss.ssl.keystore.pass (${jboss.ssl.keystore.pass}) -
jboss.ssl.keystore.alias (${jboss.ssl.keystore.alias}) -
jboss.ssl.fullyqualified.hostname (${jboss.ssl.fullyqualified.hostname}) -
tomcat.ssl.enable (${tomcat.ssl.enable}) -
tomcat.ssl.keystore.file (${tomcat.ssl.keystore.file}) -
tomcat.ssl.keystore.dir (${tomcat.ssl.keystore.dir}) -
tomcat.ssl.keystore.pass (${tomcat.ssl.keystore.pass}) -
tomcat.ssl.keystore.alias (${tomcat.ssl.keystore.alias}) -
tomcat.ssl.fullyqualified.hostname (${tomcat.ssl.fullyqualified.hostname}) -
jboss.binaries.relative.dir (${jboss.binaries.relative.dir}) -
tomcat.binaries.relative.dir (${tomcat.binaries.relative.dir}) -
Requirements:
Example usage:
validate-environment
| Under Construction. |
Macro Name: validate-environment
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
ant.check.version (1.7.0) -
java.check.version.major (1.5) -
java.check.version.minor (1.5.0_10) -
Requirements:
Example usage:
validate-properties
| Under Construction. |
Macro Name: validate-properties
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
Requirements:
Example usage:
validate-ports-preinstall
| Under Construction. |
Macro Name: validate-ports-preinstall
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
validation.pre.port.list (${validation.pre.port.list}) -
hostname (${jboss.server.hostname}) -
Requirements:
Example usage:
<validate-ports-preinstall
/>
check-direct-child-directory
| Under Construction. |
Macro Name: check-direct-child-directory
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
parent.dir.property ( ) -
child.dir.property ( ) -
Requirements:
Example usage:
<check-direct-child-directory
parent.dir.property="somevalue"
child.dir.property="somevalue"
/>
check-not-child-directory
| Under Construction. |
Macro Name: check-not-child-directory
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
parent.dir.property ( ) -
child.dir.property ( ) -
Requirements:
Example usage:
<check-not-child-directory
parent.dir.property="somevalue"
child.dir.property="somevalue"
/>
check-valid-directory-name
| Under Construction. |
Macro Name: check-valid-directory-name
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
directory.property ( ) -
Requirements:
Example usage:
<check-valid-directory-name
directory.property="somevalue"
/>
check-application-exists
| Under Construction. |
Macro Name: check-application-exists
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
application.dir.property ( ) -
Requirements:
Example usage:
<check-application-exists
application.dir.property="somevalue"
/>
check-database-exists
| Under Construction. |
Macro Name: check-database-exists
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
database.driver (${database.driver}) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
database.name (${database.name}) -
Requirements:
Example usage:
<check-database-exists
/>
validate-post-install
| Under Construction. |
Macro Name: validate-post-install
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
validation.post.http.list (${validation.post.http.list}) -
validation.post.socket.list (${validation.post.socket.list}) -
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
application.url (${application.url}) -
propertyfile.backup.location (${jboss.home}) -
Requirements:
Example usage:
<validate-post-install
/>
validate-ports-postinstall
| Under Construction. |
Macro Name: validate-ports-postinstall
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
validation.post.http.list (${validation.post.http.list}) -
validation.post.socket.list (${validation.post.socket.list}) -
hostname (${jboss.server.hostname}) -
Requirements:
Example usage:
<validate-ports-postinstall
/>
validate-jboss-logs-postinstall
| Under Construction. |
Macro Name: validate-jboss-logs-postinstall
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
Requirements:
Example usage:
<validate-jboss-logs-postinstall
/>
validate-database
| Under Construction. |
Macro Name: validate-database
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
database.driver (${database.driver}) -
database.system.url (${database.system.url}) -
database.system.user (${database.system.user}) -
database.system.password (${database.system.password}) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
database.version (5.0.27) -
database.name (${database.name}) -
Requirements:
Example usage:
properties-exist
| Under Construction. |
Macro Name: properties-exist
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
properties.list ( ) -
Requirements:
Example usage:
<properties-exist
properties.list="somevalue"
/>
compare-properties
| Under Construction. |
Macro Name: compare-properties
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
property.template.file (${property.template.file}) -
envpropertyfile (${properties.file}) -
Requirements:
Example usage:
check-absolute-directory
| Under Construction. |
Macro Name: check-absolute-directory
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
directory.property ( ) -
Requirements:
Example usage:
<check-absolute-directory
directory.property="somevalue"
/>
Utilities Macros
backup-roll
Macro Name: backup-roll
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro was written in support of the disposable application server project. It will "roll" backup directories allowing the backup process to keep a limited number of copies. It will delete the oldest copy increment each of the other directories by one. If backupCount is 5 this utility will delete backup5, move backup4 to backup5, backup3 to backup 4, backup2 to backup3 and backup 1 to backup2 allowing for the creation of a new backup1 directory. This should be run before attempting to backup.
Attributes:
backupDir ( ) - The base backup directory. Sub-directories backup will be create in the directory where x=backupCount (backup1 .. backup${backupCount})
backupCount ( ) - Number of directories to maintain, oldest are deleted first.
Requirements:
Example usage:
<backup-roll
backupDir="/backups/jboss"
backupCount="3"
/>
backup-and-clean
Macro Name: backup-and-clean
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro calls the backup-roll macro then does a backup of the requested directory to the specified directory.
Attributes:
src.dir ( ) - The directory to be backed up
backup.base.dir ( ) - The base directory to back it up to
backup.count (5) - Count of backups to keep (passed to backup-roll)
Requirements:
Example usage:
<backup-and-clean
src.dir="$\{jboss.home\}"
backup.base.dir="/backups/jboss"
/>
deploy-local
Macro Name: deploy-local
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Taken from build.xml. Manages calling installer within the exploded distribution with the correct command line arguments for the correct platform. This is called by both deploy:local:install and deploy:local:upgrade in the master build.xml with different arguments.
Attributes:
build.dir (${build.dir}) - The directory with the source build files are
install.dir (${dist.exploded.dir}) - The install/exploded distribution directory, where the installer is executed from
properties.file (${properties.file}) - The property file to use (generally install.properties)
target.name ( ) - The name of the target to call (varies between install and upgrade).
Requirements:
Example usage:
<deploy-local
target.name="install"
/>
deploy-files
Macro Name: deploy-files
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro was taken as is from the master build.xm where it was a macro. This deletes and creates the deployment area, copies the distribution there and then extracts it. If an application deploys to more than one instance of jboss this macro may be used multiple times.
Attributes:
ssh.user (${ssh.server.username}) - The user to ssh as
ssh.host (${ssh.server.hostname}) - The host to ssh to
remote.directory.property.name (ssh.dir.temp) - The deploy folder on the remote host (the default value of "deploy" will create a deploy folder in the user's home area, if there is not enough space or the user does not have permissions to create this an absolute path on the remote machine that will allow both of these can be specified.
properties.file (${properties.file}) - The properties file to copy over (in the case of remote deployments it is not included in the distribution)
dist.dir (${dist.dir}) - The local dist directory
dist.file ( ) - The file in that directory
Requirements:
Example usage:
<deploy-files
dist.file="project.name-dist.zip"
/>
dist-prep
Macro Name: dist-prep
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This code was taken from the build.xml. It is the common code used by dist:installer:prep and dist:upgrader:prep. The default values for the attributes are set for installs. This macro copies files not produced by the sub-project build that are required for installation (jboss binaries, common folder, bda-utiles, ect) to the distribution area.
Attributes:
dist.exploded.dir (${dist.exploded.dir}) - The exploded distribution area.
build.dir (${build.dir}) - The source directory for build and properties files
bda-utils.dir (${bda-utils.dir}) - The source directory for bda-utils
common.dir (${common.dir}) - The source directory for common
download.dir (${download.dir}) - The source directory for downloads
copy.tools.flag (Y) - Whether to include tools/downloads (mostly needed for install)
default.target (install) - Target to update the distribution build.xml with as the default target.
Requirements:
Example usage:
<!-- for an upgrade -->
<dist-prep
copy.tools.flag="N"
default.target="upgrade"
/>
Add Module to Ivy
Macro Name: ivy-module-add2repo
Version available - 0.5.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
ivy-repo.base.url (default - http://gforge.nci.nih.gov/svnroot/commonlibrary/trunk/ivy-repo) - svn url of ivy repo.
ivy-repo.base.dir - Directory where to checkout ivy repo to.
ivy.add.org - Organization of module to add.
ivy.add.module - Module name of module to add.
ivy.add.version - Version of module to add
ivy.add.module.src.dir - Directory where artifacts to add are located
ivy.add.module.src.file.list - List of files in above directory to add (comma separated), in case you have more than one for a module.
ivy.add.xml.src.location - Location of ivy.xml
Requirements:
Example usage:
<target name="ivy:module:add2repo">
<property name="ivy-repo.base.dir" location="${software.dir}/../../ivy-repo"/>
<ivy-module-add2repo
ivy-repo.base.dir="${ivy-repo.base.dir}"
ivy.add.org="test-org"
ivy.add.module="test-module3"
ivy.add.version="0.1.0"
ivy.add.module.src.dir="${build.dir}"
ivy.add.module.src.file.list="some.jar"
ivy.add.xml.src.location="${build.dir}/ivy.xml" />
</target>
run-sql-script
| Under Construction. |
Macro Name: run-sql-script
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
sql.file ( ) -
sql.delimiter ( -
sql.delimitertype (normal) -
database.url (${database.url}) -
database.user (${database.user}) -
database.password (${database.password}) -
onerror (abort) -
Requirements:
Example usage:
<run-sql-script
sql.file="somevalue"
/>
remote-ssh
| Under Construction. |
Macro Name: remote-ssh
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
remoteSshCommand ( ) -
remoteSshPort (${ssh.port}) -
remoteSshHost (${ssh.server.hostname}) -
remoteSshUser (${ssh.server.username}) -
remoteSshKeyfile (${ssh.key.file}) -
remoteSshSleep (5) -
Requirements:
Example usage:
<remote-ssh
remoteSshCommand="somevalue"
/>
remote-scp
| Under Construction. |
Macro Name: remote-scp
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
remoteScpFileToCopy ( ) -
remoteScpToDir ( ) -
remoteScpKeyFile (${ssh.key.file}) -
remoteScpPassphrase () -
remoteScpTrust (true) -
remoteScpVerbose (true) -
remoteScpSleep (5) -
Requirements:
Example usage:
<remote-scp
remoteScpFileToCopy="somevalue"
remoteScpToDir="somevalue"
/>
jboss-stop-jboss
| Under Construction. |
Macro Name: jboss-stop-jboss
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.hostname (${jboss.server.hostname}) -
jboss.server.jndi.port (${jboss.server.jndi.port}) -
jboss.server.name (${jboss.server.name}) -
jboss.web.user (admin) -
jboss.web.password (admin) -
Requirements:
Example usage:
jboss-check-if-jboss-is-running
| Under Construction. |
Macro Name: jboss-check-if-jboss-is-running
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.server.port (${jboss.server.port}) -
jboss.server.hostname (${jboss.server.hostname}) -
Requirements:
Example usage:
<jboss-check-if-jboss-is-running
/>
jboss-start-jboss
| Under Construction. |
Macro Name: jboss-start-jboss
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
Requirements:
Example usage:
tomcat-stop
| Under Construction. |
Macro Name: tomcat-stop
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
tomcat.home ( ) -
Requirements:
Example usage:
<tomcat-stop
tomcat.home="somevalue"
/>
tomcat-start
| Under Construction. |
Macro Name: tomcat-start
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
tomcat.home ( ) -
Requirements:
Example usage:
<tomcat-start
tomcat.home="somevalue"
/>
svn-co
| Under Construction. |
Macro Name: svn-co
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
svn.checkout.url ( ) -
svn.checkout.dir ( ) -
svn.checkout.user (anonymous) -
svn.checkout.pass () -
delete (true) -
Requirements:
Example usage:
<svn-co
svn.checkout.url="somevalue"
svn.checkout.dir="somevalue"
/>
svn-add
| Under Construction. |
Macro Name: svn-add
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
svn.add.dir ( ) -
Requirements:
Example usage:
<svn-add
svn.add.dir="somevalue"
/>
svn-update
| Under Construction. |
Macro Name: svn-update
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
svn.update.dir ( ) -
Requirements:
Example usage:
<svn-update
svn.update.dir="somevalue"
/>
svn-commit
| Under Construction. |
Macro Name: svn-commit
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
svn.commit.dir ( ) -
svn.commit.user (anonymous) -
svn.commit.pass () -
svn.commit.message (Added by build process) -
Requirements:
Example usage:
<svn-commit
svn.commit.dir="somevalue"
/>
util-dot-on-dir
| Under Construction. |
Macro Name: util-dot-on-dir
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
dot-file.dir ( ) -
report.type (pdf) -
Requirements:
Example usage:
<util-dot-on-dir
dot-file.dir="somevalue"
/>
check-svnuser
| Under Construction. |
Macro Name: check-svnuser
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
Requirements:
Example usage:
obfuscate-properties-file
| Under Construction. |
Macro Name: obfuscate-properties-file
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
properties.file ( ) -
required.property.list ( ) -
optional.property.list () -
delete.property.list () -
Requirements:
Example usage:
<obfuscate-properties-file
properties.file="somevalue"
required.property.list="somevalue"
/>
gui-installer-prep
| Under Construction. |
Macro Name: gui-installer-prep
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
bda-utils.dir (${bda-download.dir}) -
gui-installer.dir (${gui-installer.dir}) -
target.dir (${target.dir}) -
download.dir (${download.dir}) -
dist.dir (${dist.dir}) -
izpack.binary.name (izpack-4.0.1) -
izpack.binary.file (izpack-4.0.1.zip) -
izpack.binary.uri (http://gforge.nci.nih.gov/svnroot/commonlibrary/trunk/techstack-2008/os-independent) -
izpack-custom.svn.url (http://gforge.nci.nih.gov/svnroot/automation/trunk/software/bda-installer/src-custom) -
izpack-custom.svn.dir (${target.dir}/izpack-custom) -
product.name (caArray-installer) -
product.version (2.1.0) -
Requirements:
Example usage:
jboss-read-ldapconfig
| Under Construction. |
Macro Name: jboss-read-ldapconfig
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
jboss.home (${jboss.home}) -
jboss.server.name (${jboss.server.name}) -
ldap.url.property (ldap.url) -
ldap.basedn.property (ldap.basedn) -
ldap.searchprefix.property (ldap.searchprefix) -
Requirements:
Example usage:
<jboss-read-ldapconfig
/>
backup-dir
| Under Construction. |
Macro Name: backup-dir
Version available - 0.x.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:
Attributes:
src.dir ( ) -
backup.base.dir ( ) -
backup.count (5) -
Requirements:
Example usage:
<backup-dir
src.dir="somevalue"
backup.base.dir="somevalue"
/>
Reports Macros
Produce a diff report of two directories
Macro Name: report-dir-diff
Version available - 0.7.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: This macro was written to provide a change log for disposable application servers. Since we will be deleting and replacing the current application server with a fresh install we wanted a way to track what changed between the two installs. This macro is very generic it should work in comparing the contents of two different directories. We are using the context format output so you want to dir1 should always be the old directory.
Attributes:
dir1 ( ) - The backed up directory
dir2 ( ) - The new directory
reportFile ( ) - The output file location (/path/file)
Requirements:
Example usage:
<report-dir-diff
dir1="backupdir"
dir2="apphome"
reportFile="reportfile"
/>
Database Diff (LiquiBase)
Macro Name: database-diff
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase to compare two databases and produce both text and changelog formatted output.
Attributes:
database.driver - The name of the driver to be used.
compare1.database.url - The URL to connect to the database
compare1.database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
compare1.database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
compare1.database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
compare2.database.url - The URL to connect to the database
compare2.database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
compare2.database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
compare2.database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
output.file.txt - Path/file of text output of comparison.
output.file.xml - Path/file of changelog output of comparison.
Requirements: Must have custom taskdef to load LiquiBase custom tasks. Must have two databases to compare
Environments: All
Example usage:
<target name="database:diff" description="Upgrades database using BDA Datbase Upgrade process." unless="exclude.database"
depends="
database:prep
">
<database-diff
output.file.txt="${target.dir}/generated-diff-log.txt"
output.file.xml="${target.dir}/generated-diff-log.xml"
/>
</target>
Database Doc (LiquiBase)
Macro Name: database-doc
Version available - 0.5.0-beta
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Uses LiquiBase to generate database documentation, looks liek javadoc.
Attributes:
database.driver - The name of the driver to be used.
database.url - The URL to connect to the database
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.schema - The schema where the object reside, generally this is the same as ${database.name} for msyql, ${database.user} for oracle and "public" for postgresql.
database.changelog.file - The path and file name for the generated file.
Requirements: Must have custom taskdef to load LiquiBase custom tasks. Must have a change log file and any scripts it points to.
Environments: All
Example usage:
<target name="database:doc">
<database-doc
output.dir="${reports.dir}/db"
database.changelog.file="${working.dir}/db-upgrade/db-upgrade.xml"
/>
</target>
Creating an Entity-Relationship Diagram (ERD) of your Database
Macro Name: generate-erd
Version available - 0.2
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Generates an ERD of a relational database.
Attributes:
database.port - The port number for the database. Assumes that ${database.port} has already been defined in your build script.
database.user - The name of the user for the database you wish to connect to. Assumes that ${database.user} has already been defined in your build script.
database.password - The password for database.user. Assumes that ${database.password} has already been defined in your build script.
database.type - Valid values are mysql, ora, db2, etc. Assumes that ${database.type} has already been defined in your build script.
report.dir - Default is ${target.dir}/reports/schema-spy
database.driver.jar - Default is mysql-connector-java-5.0.5-bin.jar
schemaspy.jar - Default is schemaSpy_3.1.1.jar
database.server - Assumes that ${database.server} has already been defined in your build script.
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-database-diagram">
<generate-erd report.dir="${target.dir}/reports/schema-spy" />
</target>
Creating UML diagrams based on source code
Macro Name: generate-uml
Version available - 0.2
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Generates UML diagrams for Java source code. It creates a Javadoc HTML report and uses Graphviz to generate the UML diagrams. This macro uses UmlGraph version umlgraph-4.8.jar and supports JDK 1.5+.
Pre-Requisites: Graphviz must be present in the system PATH.
Attributes:
uml.dir - directory where the UML diagrams are generated.
src.java.dir - The name of the user for the database you wish to connect to.
uml.source.path - directory for the generated Java .class files
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-uml-diagrams">
<generate-uml />
</target>
Creating build diagrams based on Ant scripts
Macro Name: report-grand
Version available - 0.2
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Generates build diagrams for Ant build scripts. By default, the files are generated as PDFs.
Pre-Requisites: Graphviz must be present in the system PATH.
Attributes:
build.file.location - The path (including the file name) of the Ant build script. Default is build.xml (current directory).
output.file.dir - The directory where the diagram will be generated. Default is current directory (.).
output.file.name - The name of the file to output. The default is build.xml.
file.type - The type of file to generate: pdf, png, jpg, etc. pdf is the default value.
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-grand-report">
<report-grand build.file.location="build.xml" output.file.dir="." output.file.name="build.xml" file.type="pdf" />
</target>
Create an aggregate report of all static analysis tools
Macro Name: fusebox-metrics
Version available - 0.3.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Generates a graphical representation of the static analysis for the project.
Attributes:
fusebox.config.file - The name of the configuration file for the fusemetrics. defaults to bda-utils.dir/resource/fusemetrics_config.xml.
fusebox.project.name - The name of the project for which the fusemetrics is computed. defaults to Project.
fusebox.search.dir - The location of the resulted XML files from the static analysis. defaults to reports.
fusebox.output.file - The location of the output directory where the results are stored. defaults to output.
fusebox.persist.dir - The location of the persisted directory and the data is appended after each build. defaults to persist
fusebox.template.file - The name of the template file that renders data from the persistent file. defaults to bda-utils.dir/resource/dashboard.tmpl
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-fusebox-metrics">
<fusebox-metrics fusebox.config.file="${bda-utils.dir}/resource/fusemetrics_config.xml" fusebox.template.file="${bda-utils.dir}/resource/dashboard.tmpl" fusebox.output.dir="${basedir}/target/output" fusebox.persist.dir="${basedir}/target/persist"/>
</target>
Running static analysis tools based on revision files
Macro Name: diffrevision
Version available - 0.3.0
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description: Generates a file will names of the java files that were checked in from the revision number specified till the HEAD or the current revision number
Attributes:
old.revision.number - The mandatory property will hold the value of the revision number when the static analysis was last performed.
differential.file.name - The file name that has the differential list of java files for which the static analysis has to be performed.
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-fusebox-metrics">
<diffrevision old.revision.number="2300" differential.file.name="diff_list.txt" />
</target>
Macro Name: run-junit-tests
Version available - 0.1
File Name: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/utils/bda-build-utils.xml
Description:run-junit-tests macro would runs the unit test cases
Attributes:
test.src.dir is the source directory for the junit tests
xml.output.dir is the output directory for the junit tests
classpath is the classpath for the tests
Environments: Developer Workstations and CI environment.
Example usage:
<target name="generate-fusebox-metrics">
<run-junit-tests
test.src.dir="${test.src.dir}"
xml.output.dir="junit"
classpath="*.jar" />
</target>
|