12 Oct 04

Boiling .NET Code

Curtis Olson particularly enjoyed the Monitoring chapter of the book and now has lava lamps glowing on his government agency project. He contributed this story:

I simply had to implement the lava lamp monitors. However, we write code in C# rather than Java, so I was left without a pre-written publisher for CruiseControl.NET that would control X10 devices. Dogged determination led me to develop my own publisher. It was surprisingly simple.

First, download Robert Chartier’s X10 library for .NET and use the pre-built Communications.dll and X10Unified.dll files. Then add my LavaLampPublisher.cs file to the Thoughtworks.CruiseControl.Core assembly. Finally, add the following line to the <publishers> section of your ccnet.config file:

  <lavalamp passdevice="1" faildevice="2" housecode="A" />

I even have the build machine running as a virtual machine under VMWare with the virtual COM port mapped to the physical COM port on the host server.