Reference
IvyCruise is a set of plugins for CruiseControl.You will find below the documentation reference of the different plugins.
If your are looking for the CruiseControl documentation reference, just go there.
If you want to see an example of how to use them, just follow this roadmap.
Prerequesites
The IvyCruise plugins set requires two particular configurations :- ivy.jar and ivycruise.jar in the CruiseControl classpath. (see it here)
- a multithreaded CruiseControl server configuration (can run without but in a degraded but functionnal mode).
<ivybuilder>
<cruisecontrol> <project> <schedule> <ivybuilder>
Attributes
| Attribute | Required | Description |
|---|---|---|
| ivyfilepattern | No | Pattern to access to other projects'ivy file.You can use the variable ${project} that matches each declared project into CruiseControl config file. Example: ivyfilepattern="projects/${project}/ivy.xml where ${project} is a CruiseControl project name. |
Child Elements
| Element | Cardinality | Description |
|---|---|---|
| <pattern> | 0..* | Defines some pattern child elements to retrieve other projects. |
| <project> | 0..* | Give the complete description of a project to use : name and ivyfile. |
<pattern>
<cruisecontrol> <project> <schedule> <ivybuilder> <pattern>
Attributes
| Attribute | Required | Description |
|---|---|---|
| value | Yes | pattern to access to other projects'ivy file. Example: ivyfilepattern="projects/${project}/ivy.xml where ${project} is a CruiseControl project name. |
<ivybuilder>
<pattern value="projects/apps/${project}/ivy.xml" />
<pattern value="projects/components/${project}/ivy.xml" />
<pattern value="projects/tools/${project}/ivy.xml" />
<pattern value="projects/misc/${project}/ivy.xml" />
</ivybuilder>
<pattern value="projects/apps/${project}/ivy.xml" />
<pattern value="projects/components/${project}/ivy.xml" />
<pattern value="projects/tools/${project}/ivy.xml" />
<pattern value="projects/misc/${project}/ivy.xml" />
</ivybuilder>
<project>
<cruisecontrol> <project> <schedule> <ivybuilder> <project>
Attributes
| Attribute | Required | Description |
|---|---|---|
| name | Yes | CruiseControl name of the project |
| ivyfile | Yes | path to project ivy file |
<ivybuilder>
<project name="A" ivyfile="checkout/A/ivy.xml" />
<project name="B" ivyfile="checkout/B/ivy.xml" />
<project name="C" ivyfile="checkout/C/ivy.xml" />
</ivybuilder>
<project name="A" ivyfile="checkout/A/ivy.xml" />
<project name="B" ivyfile="checkout/B/ivy.xml" />
<project name="C" ivyfile="checkout/C/ivy.xml" />
</ivybuilder>
<ivybuildstatus>
<cruisecontrol> <project> <modificationset> <ivybuildstatus>
Attributes
| Attribute | Required | Description |
|---|---|---|
| ivyfile | Yes | the path to the ivy file of the project. |
<ivyconditional>
<cruisecontrol> <project> <publishers> <ivyconditional>
It publishes the result using the sub publishers only if build has failed or if real modifications occured, not only dependency ones (to use in conjunction with IvyBuildStatus or BuildStatus). This publisher is usually used with email publishers, to prevent spam when only dependency has changed.
Example:
<publishers>
<ivyconditional>
<email mailhost="127.0.0.1" buildresultsurl="http://127.0.0.1:8080/cruisecontrol/buildresults/myproject/" returnaddress="someone@mysite.com">
</email>
</ivyconditional>
</publishers>
<ivyconditional>
<email mailhost="127.0.0.1" buildresultsurl="http://127.0.0.1:8080/cruisecontrol/buildresults/myproject/" returnaddress="someone@mysite.com">
</email>
</ivyconditional>
</publishers>
Child Elements
| Element | Cardinality | Description |
|---|---|---|
<antpublisher> |
0 .. * | Executes an Ant script which implements a custom publisher. |
<artifactspublisher> |
0 .. * | Copies build products to a directory |
<currentbuildstatuspublisher> |
0 .. * | Writes the time of the next build to a file |
<email> |
0 .. * | Sends an email with a URL to the build results JSP |
<execute> |
0 .. * | Execute a command as part of the publishing phase |
<ftppublisher> |
0 .. * | Copies the log file and build artifacts to an FTP server |
<htmlemail> |
0 .. * | Sends an email with the build results embedded as HTML |
<jabber> |
0 .. * | Sends an instant message with a link to the build results via a Jabber server using XMPP |
<sametimeannouncement> |
0 .. * | Sends Sametime announcements with the result of the build |
<scp> |
0 .. * | Copies a file using SCP |
<x10> |
0 .. * | Controls an x10 electronic device |
<xsltlogpublisher> |
0 .. * | Performs a transformation of the log file |





