Mozilla Crash Demonstration

Trigger a crash in Mozilla Firefox when selecting "File | Print Preview..."

System Details

  • Microsoft Windows 2000
  • Mozilla Firefox 0.9.2 (UA String is Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040707 Firefox/0.8)
  • Linux Fedora Core 2
  • Mozilla 1.7.2 (UA String is Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803)

top

<cruisecontrol>

<cruisecontrol>

The <cruisecontrol> element is the root element of the configuration, and acts as a container to the rest of the configuration elements.

Child Elements

Element Cardinality Description
<project> 1 .. * Defines a basic unit of work.
<plugin> 0 .. 1 Registers a classname with an alias.
 top

<project>

<cruisecontrol>
  <project>

A <project> is the basic unit of work — it will handle checking for modifications, building, and publishing the results of your project.

Attributes

Attribute Required Description
name Yes Unique identifier for this project
buildafterfailed No (defaults to true) Should CruiseControl keep on building even though it has failed and no new modifications are detected? This feature is useful if you want CruiseControl to detect situations where a build fails because of outside dependecies (like temporary failing database connection).

Child Elements

Element Cardinality Description
<bootstrappers> 0 .. 1 Container element for Bootstrapper plugin instances.
<modificationset> 1 Container element for SourceControl plugin instances.
<schedule> 1 Specifies the SourceControl poll interval, and is a parent element for Builder plugin instances.
<log> 0 .. 1 Specifies where project log files are stored.
<publishers> 0 .. 1 Container element for Publisher plugin instances.
<dateformat> 0 .. 1 Overrides the default date format for presentation.
<plugin> 0 .. * Registers a classname with an alias.
 top

<bootstrappers>

<cruisecontrol>
  <project>
    <bootstrappers>

The <bootstrappers> element is a container element for Bootstrapper plugin instances.

Bootstrappers are run before a build takes place, regardless of whether a build is necessary or not, but not if the build is paused. Each bootstrapper element is independent of the others so it is quite possible to have multiple bootstrappers of the same time, say 3 CVS or VssBootstrappers to update 3 different files.

Child Elements

Element Cardinality Description
<clearcasebootstrapper> 0 .. * Bootstraps resources from ClearCase
<currentbuildstatusbootstrapper> 0 .. * Writes a build status snippet to the filesystem
<currentbuildstatusftpbootstrapper> 0 .. * Transfers a build status snippet via FTP
<cvsbootstrapper> 0 .. * Bootstraps resources from CVS
<p4bootstrapper> 0 .. * Bootstraps resources from Perforce
<starteambootstrapper> 0 .. * Bootstraps resources from Star Team
<svnbootstrapper> 0 .. * Bootstraps resources from Subversion
<vssbootstrapper> 0 .. * Bootstraps resources from Visual Source Safe
 top

<clearcasebootstrapper>

<cruisecontrol>
  <project>
    <bootstrappers>
      <clearcasebootstrapper>

Can be used to pull a single file (usually build.xml and/or build.properties) from ClearCase prior to building.

Attributes

Attribute Required Description
file Yes The filename to write
viewPath No local path to the file
 top

<currentbuildstatusbootstrapper>

<cruisecontrol>
  <project>
    <bootstrappers>
      <currentbuildstatusbootstrapper>

The CruiseControl Build Results JSP can indicate whether or not CruiseControl is currently building a project. To get this information to the JSP, we can use the optional <currentbuildstatusbootstrapper> to write an HTML snippet to disk in a location where the JSP can read it. This file will consist of the time the build was started with the formatting set by the dateformat element.

Attributes

Attribute Required Description
file Yes The filename to write, including path
 top

<currentbuildstatusftpbootstrapper>

<cruisecontrol>
  <project>
    <bootstrappers>
      <currentbuildstatusftpbootstrapper>

This performs the same action as <currentbuildstatusbootstrapper>, except that the status file is sent to the remote site via FTP, instead of being stored locally.

Attributes

In addition to the common FTP attributes, <currentbuildstatusbootstrapper> uses the following attributes.

Attribute Required Description
file Yes The filename to write.
destDir Yes The remote directory (relative to targetDir) to write the file.
 top

<cvsbootstrapper>

Since there can be a reliance on the build.xml to handle updating the source code, there has always been a problem with what happens when the build.xml file itself changes. <cvsbootstrapper> can solve this problem either by pulling a single file (such as build.xml) or by updating the entire project. Allowing the bootstrapper to update the project makes for a simpler build.xml but allows a window where a file can be commited after the update and before the modification check.

Attributes

<cvsbootstrapper> requires at least one of its attributes to be set.

Attribute Required Description
localWorkingCopy No Path (absolute or relative to Build Loop execution directory) to the local copy of the CVS module which contains the target file. CVSBootstrapper will execute the update command from this directory if specified. Defaults to Build Loop execution directory.
cvsroot No The CVSROOT. Not required if the current working directory is in the cvs project or if the localWorkingCopy attribute is set.
file No The file to update from CVS, relative to localworkingcopy. If not specified either the current working directory must be in the local cvs project or the localWorkingCopy must be set.
 top

<p4bootstrapper>

Syncs a single path from Perforce before the build begins. Useful if you want to leave all SCM up to CruiseControl. Allowing the bootstrapper to update the project makes for a simpler build.xml but allows a window where a file can be commited after the update and before the modification check.

Attributes

Attribute Required Description
path Yes Valid Perforce path (a.k.a. 'view')
p4Port No Perforce Server connection to use (host:port)
p4User No Perforce User name to use
p4Client No Perforce Client name to use
 top

<starteambootstrapper>

<cruisecontrol>
  <project>
    <bootstrappers>
      <starteamftpbootstrapper>

Handles updating multiple files (space separated list) from StarTeam before the build begins.

Attributes

Attribute Required Description
files Yes Space separated list of files to retrieve
folder Yes The repository folder
localfolder No Path to the folder on the local file system
password Yes  
port Yes Port StarTeam server is using
project Yes StarTeam project
server Yes Hostname for StarTeam server
username Yes  
view Yes StarTeam view