Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

Cultivate Automatic Build

Cruise Control

We use CruiseControl 2.7.1 to execute automatic builds. The build instance of CruiseControl is located at Two build jobs are configured for Cultivate:

  • cultivate
  • cultivate-release

The job cultivate does our integration builds upon commited changesets. This job publishes the build result as cultivate.txt for the traffic light. The other job, cultivate-release is used for release builds and publishes the generated update site. The working directory of CruiseControl is L:/Work/cc_build, both jobs have a appropriate subdirectory (cvt_34, cvt_34_release).

Current stable configuration is stored here and needs to be added to SVN, maybe have CruiseControl checkout his own configuration?


Cultivate uses the pluginbuilder Eclipse Plug-In to create automatic builds. The build files are contained in the CCCultivate project. All files in the project have been automatically generated by pluginbuilder. The main configuration of the builds is done in the graphical editor of the pluginbuilder.config file. We have defined two releases there:

  • HEAD is executed on each checkin as integration build. The traffic light is controlled by this build.
  • release is executed on checkin of release/, i.e. when changing the version number it will automatically build a new release and upload it to the update site.

Since automatically created build scripts did not work out of the box we changed the following files, a working version of those can be found in Revision 862:

  • build.xml:
    • The main-cc target was changed for integration in CruiseControl. It sets a correct version qualifier via the ${label} property and resets the result file for the traffic light.
    • The main-release target was added to build new releases. It uses the version property of
    • This file contains paths to make the build on the cruisecontrol server working.
  • testing.xml:
    • Not part of pluginbuilder, created by our own.
    • Currently (27.03.03) not working, will be used to run the automatic unit tests for the code.
  • build-files/customTargets.xml:
    • Adapted to work with CruiseControl.
  • build-files/subversionSupport.xml:
    • A manual call to the subversion command line client was added, since the builtin method did not work correctly. Svn username and password are read from the file.
  • lib/junit-4.5.jar:
    • Added to make the unit tests working.

After adding a new plug-in to a feature or adding a feature to pluginbuilder the build scripts have to be recreated by hitting the “Generate Build Files” link in the editor. This will not overwrite the changes made by us to the build scripts.

Update Site

What is an Update Site?

All details of plug-ins, features and update sites are described in a detailed manner in the following location:

Where is the current Update Site?

Never mind, that you cannot see it with the browser. To check availability, you may try the site.xml.

How do I use the Update Site?


There are currently two features in cultivate, but only the first one is included in the automatic build:


This feature contains the core parts of cultivate with the appropiate user interfaces. It consists of the following plug-ins:

  • cultivate.analysis
  • cultivate.core
  • cultivate.ui



This feature contains the refactor parts of cultivate, originated from a deploma thesis, including its dependencies. This feature currently is not tested amd needs more cleanups to run correctly.

  • ca.ubc.cs.javadb
  • ca.uvic.csr.shrimp
  • ca.uvic.csr.shrimp.creole
  • ca.uvic.csr.shrimp.eclipsebridge
  • cultivate.refactor.adaptivity
  • cultivate.ui.refactor.adaptivity

Project Root Black- and White+ list


  • *.jude
  • build.xml
  • *compiler.args


Every Project

  • .classpath
  • .project

Plugin Projects

  • plugin.xml
  • (optional)
  • (optional)
  • javadoc.xml (optional)

Test Projects

  • fitnesse.xml (optional)
  • generate-factbase-*.launch

Feature Projects

  • feature.xml
teaching/labs/xp/2009a/updatesite.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024