You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  Ant Build
Since codeBeamer 5.7 Builds are not available.

Configuring Ant for codeBeamer: Builds in Separate JVMs

Launching Ant in a Separate JVM

codeBeamer launches Ant in a separate JVM, instead of running it in codeBeamer's JVM. This has the following benefits:

  • Robust – memory (typically OutOfMemoryError) or other resource problems of the Ant sub-process will not affect codeBeamer at all. Anything can fail, the codeBeamer server will be up and running.
  • Atomic – each Ant invocation lives in its own sandbox. If you have a build sequence that first runs an Ant script, then calculates metrics with another script, the two steps will run in two separate JVMs.
  • Secure – you can customize what operating system user account will be used as the owner of the build process. Properly setting up the operating system access rights of this account, any kind of security model is supported.
  • Customizable – you can fine-tune your Ant environment by modifying the wrapper scripts that lauch Ant.
  • Better control over the classpath – collisions with codeBeamer's classloader will not affect your builds.

Also See:

Customizing Ant

For your convenience, Ant is included in the standard codeBeamer installation, under its own directory $CODEBEAMER_HOME/ant. Customizing Ant (for example, adding optional task definitions) is absolutely possible, but you have to be very careful, because your changes will affect all the builds in all the projects. Beside extending Ant's functionality by adding new JARs to $CODEBEAMER_HOME/ant/lib, your primary customization points are the Ant wrapper scripts: $CODEBEAMER_HOME/ant/bin/ant.bat on Windows and $CODEBEAMER_HOME/ant/bin/ant on Linux (or other Unix-like) platforms. Modifying these, you can add your own loggers, add further project-independent properties or fine-tune the JRE commandline options. Customization happens in the same exact way as with regular Ant installations, so these are not detailed here, please refer to the Ant Manual http://ant.apache.org/manual/index.html.

Environment for Ant Builds

The initial set of runtime properties passed to Ant consists of the following:

  • CB_INSTALLDIR – codeBeamer home directory
  • CB_USER_ID – identifier of the user who initiated this build
  • CB_PROJ_ID – identifier of the project where this build belongs to
  • CB_PROJECT_NAME – name of the project that this build belongs to
  • CB_DOCDIR – directory where codeBeamer stores the documents that belong to this project
  • CB_SRCDIR – directory where codeBeamer stores the source code that belong to this project
  • CB_PROJECT_DIR – root directory of this codeBeamer project
  • CB_REMOTE_API_URL – connection point for the remote API of this codeBeamer instance (for internal use)
  • CB_PASSIVE_MODE – communication properties (for internal use)

Of course, all the additional properties that you specify in the "Customize Build" screen will be added, too. You can learn more about the details of invocation by studying the codeBeamer system log.

codeBeamer-specific Custom Ant Tasks

When writing your build scripts, you can use some special task definitions for better integration with codeBeamer. codeBeamer is shipped with the following custom Ant tasks:
  • CBExportReport – executes a codeBeamer report and saves its result to a local file in MS Excel format.
  • CBPost – posts a message to a codeBeamer forum.
  • CBRelease – uploads files from the local file system to the codeBeamer Document Management System.

Note that these task definitions are immediately available for your scripts, there is no need for adding <taskdef> elements.

The <CBExportReport> Task

Attribute Required Description
reportid Yes Report ID to generate.
filename Yes Relative or absolute path of the file where the generated report will be stored.
comments No Boolean ("true" or "false"), whether to include tracker item comments in the report. Defaults to "false".
descriptions No Boolean ("true" or "false"), whether to Include tracker item descriptions in the report. Defaults to "false".
type No Format of the report output file. Supported formats: "pdf", "excel", "wiki", "xml", "csv". Defaults to "excel".

The <CBPost> Task

Attribute Required Description
forumid Yes Forum ID to post to.
threadid No Thread ID when replying to an existing thread.
subject Yes Message subject.
description Yes Message body.
format No 'W' for Wiki, 'T' for plain text or 'H' for HTML.
attachment No Relative or absolute path of the file to attach.

The <CBRelease> Task

Attribute Required Description
file Yes Comma-separated list of files to upload.
tofile Yes Target filename in the codeBeamer Document Manager if a single file is to copy.
todir No Target dirname in the codeBeamer Document Manager. Defaults to the root directory.
description Yes Document description for the uploaded file.
descriptionformat No 'W' for Wiki, 'T' for plain text or 'H' for HTML.
keywords No Keywords for the uploaded file.
scccommitmessage No Commit message for this particular revision.
scccommitmessageformat No 'W' for Wiki, 'T' for plain text or 'H' for HTML.