Skip to content

Monthly Archives: May 2008

NAnt vs Ant: locations (NAnt Rant)

(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”> <mkdir [...]

Checking out Hudson (can I give up CruiseControl?)

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 I had a [...]

Ant Best Practices: Use properties for configurability

(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 [...]

A real Build Refactoring, in the wild

(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 to [...]

Deploying: Why artifacts are your friend

(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 against this [...]

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

(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 should not [...]

Ant Best Practices: Define Proper Target Dependencies

(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. The [...]

Git – coming to a Windows computer near you?

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. This project [...]

Ant Best Practices: Define and Reuse Paths

(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: [...]