Some years ago at Herold we were using Anthill OS, which is nice but minimalistic and did not offer any notifications. So I made a tray notifier myself using the System Tray Functionality of Java SE 6. The notifier polled the configured build server status page and used regular expressions from a property file to parse it. If a build changed to red then a little popup was shown. Later I was using Cruise Control and the only thing I was able to find was the CruiseControl-Eclipse-Plugin on Google Code. That's quite cool stuff, but I needed something that popped up in my face when the build was red.
So here is my Generic Build Server System Tray Notifier. After unpacking the zip you have to create a startup script or link executing the jar that looks like
<path to java 6>\bin\javaw.exe -jar BuildServerSystemTray.jar <path to config>(Source is included in the zip.)
The notifier is generic and needs a properties file. The zip contains sample configurations for Anthill OS 1.7, Cruise Control 2.3 and Hudson 1.2. You will have to customise the configuration. At least the build server URL (
server.url) has to be set accordingly. It should be easy to create configurations for other build servers, just set the proper value for the
status.patternproperty. This property defines a regular expression matching the whole information about a build containing the project name, success or failure and build time. The regex grouping values
status.date.groupmust be set accordingly.
Q: I was checking out the source, why is the package
at.kugelused as top level namespace instead of
org.codecop? A: Kugel was my coder pseudonym in the 80ties when I started coding for Commodore 64. I'm using it from time to time when I'm feeling retro. Kugel is German for ball or sphere. The name was coined by my first coding buddy because I was quite overweight.