From the monthly archives:

May 2008

NAnt vs Ant: locations (NAnt Rant)

May 29, 2008

(Image taken from Nesster’s Photostream)

I think it was 2002 when Dan North took me under his wing and showed me the location attribute of Ant. That was then. Now, I’m doing a lot of .NET build engineering. And I’m dying for this feature. Here’s an Ant build to demonstrate:

<project default=”properties”>
<target name=”properties”>
[...]

Read the full article →

Checking out Hudson (can I give up CruiseControl?)

May 28, 2008

Downloading Hudson via SSH session to my build server

I don’t work for ThoughtWorks anymore. I resigned from the Buildix team. Well, I hadn’t checked into the Buildix svn repository since February 2007 anyhow. Now free to evaluate the alternatives to CruiseControl. I might stick with CruiseControl, I might not. Anyhow, tonight [...]

Read the full article →

Ant Best Practices: Use properties for configurability

May 23, 2008

(Photo taken from Catatronic’s Photostream)

First time? Have a look here.
Okay. This time, it’s about properties. A property represents some fact about your build system: where something is located, or the state of something.
A property can look like this:

<property name=”foo” value=”bar”/>
or if you’re dealing with a path, then it ought to look like [...]

Read the full article →

A real Build Refactoring, in the wild

May 23, 2008

(image taken from A Princesses photostream)
As a build manager I have often looked on at my developer peers with a little envy. It’s a niche position, which might explain why tools seem to lag behind sometimes.. There’s plenty of editors out there that one can edit build files with; some you’d even want [...]

Read the full article →

Deploying: Why artifacts are your friend

May 19, 2008

(image taken from Nancy’s photostream)

You’re almost there. There’s a single character in a single file that you need to change and you think the deployment is good to go. “There’s no need to do a whole CI build and bother the QA’s for this one”, you think. “I’ll just make the change [...]

Read the full article →

Unclean. (does your CI server have an IDE installed on it?)

May 14, 2008

(image taken from SubFlux’s photostream)
Your build shouldn’t depend on an IDE. I’ve been saying that for a long time. It doesn’t matter that all the developers use the same IDE on your project. At least in the Java world that I have inhabited for most of the past 8 years, you absolutely [...]

Read the full article →

Ant Best Practices: Define Proper Target Dependencies

May 12, 2008

(Image taken from Nick Sieger’s Photostream)
Wondering what this post is about? Have a look here.
Last time I wrote, it was about reusing paths. Tonight, it’s about the dependency graph. My [N]Antcall is evil post goes into some detail about dependency graphs. Let’s just agree here that Ant targets tend to accumulate dependencies. [...]

Read the full article →

Git – coming to a Windows computer near you?

May 7, 2008

Mono founder Miguel de Icaza just twittered about a Google Summer of Code project called Git# – implemented in C#, with no platform dependencies. Git is a powerful Distributed Version Control system that came from Linus Torvalds. While you can convince it to run on Windows, it has dependencies on the Unix toolchain. [...]

Read the full article →

Ant Best Practices: Define and Reuse Paths

May 5, 2008

(image taken from justpic’s photostream)

Last time, we discussed dependencies. Today’s installment of Ant Best Practices is purportedly about resusing filesets by reference ID, but it’s really another way to avoid duplication. The title of Eric’s original article is ‘Define and Reuse Paths’. The same advice works for paths, filesets, and filtersets. Here’s an example:

<project name=”OnceAndOnlyOnce”>
[...]

Read the full article →