From the category archives:

Java

Ant will eat itself

January 31, 2010

I was sorely tempted to save this for April Fool’s Day.

<project default="default">
<target name="default">
<delete file="${ant.file}"/>
</target>
</project>

Update: Yes it does work:

Socks:tmp jsimpson$ mkdir demo
Socks:tmp jsimpson$ cd demo/
Socks:demo jsimpson$ vim build.xml
Socks:demo jsimpson$ ls -l build.xml
-rw-r–r– 1 jsimpson wheel 119 1 Feb 21:13 build.xml
Socks:demo jsimpson$ ant
Buildfile: build.xml

default:
[...]

Read the full article →

dbdeploy.net

January 17, 2010
database

Agile Database deployment for Java and .NET
(This post was originally hosted at www.dbdeploy.net)
DbDeploy is an implementation of the ActiveRecord Migrations pattern. DbDeploy.NET is the .NET port of DebDeploy. Both DbDeploys are projects initiated by ThoughtWorks. ActiveRecord comes to us via DHH.
Why would I use it?
When you’re developing software that hasn’t been released, the [...]

Read the full article →

Bamboo 2.5 released with improved Maven support

January 6, 2010
bamboo

The Atlassian guys just released Bamboo 2.5.  Highlights are:

Maven Dependency Management
Plan Import from a pom.xml
Additional Bulk Actions
Streamlined Plan Creation
Express Setup Wizard
Plus over 70 fixes and improvements

Being able to manage dependencies in your CI tool is key if you’ve drunk the dependency manager Kool-Aid.  That way you get to flush out integration issues.
Bamboo 2.5 Release [...]

Read the full article →

Ant Contrib: the power and the pain

September 21, 2009

I got a comment from Errno on my last post:
“Everyone agrees that Ant Contrib means you’ve done something wrong.” why? is there any blog post/write-up describing this? thanks

I don’t know of any write-up. So I’ll make one. There’s a reason why some tasks are in ant-contrib and not the Ant tool proper: they don’t really [...]

Read the full article →

Better Apache Ant Builds

September 20, 2009

Abstract: We did two CITCON sessions here; Joe Schmetzer suggested a show-and-tell about tools to reduce Ant bloat, and Ivan Moore wanted a general session on improving the quality of Java builds in general. During the conference, the two sessions merged. My plan was to sit in and tweet [...]

Read the full article →

Apache Ant script reuse

June 10, 2009

The Maven guys have got one thing (and others, I’m not being mean) right – we reinvent the wheel too much on Java projects.
Joe Schmetzer has an Ant Script Library. And Pascal here has had a crack at the problem of Ant Script reuse.
Seems a bit 2002-esque to write an Ant build from scratch these [...]

Read the full article →

CruiseControl Build Radiator

December 28, 2008
Thumbnail image for CruiseControl Build Radiator

Sudhindra Rao from ThoughtWorks has released a Build Radiator (Big Visible thing) for all the CruiseControls that support CCTray.
I installed it tonight. Needed to install the rack and activerecord gems. It would be nice to see it wrap around if you have more than a few projects. Most teams would probably do fine with [...]

Read the full article →

Build Refactoring: Delete Boolean Property

December 19, 2008
Thumbnail image for Build Refactoring: Delete Boolean Property

(image taken from Kurtis Scaletta’s photostream)
Last time, you read about the extract target refactoring. Today, I’m going to show you one that I love to perform: delete boolean property. Have a look the smell first:

<project default="unit_tests">

<property name="junit.enabled" value="true" />

<target name="-check_junit_enabled">
<condition property="junit.really.enabled">
<and>
<equals [...]

Read the full article →

Effective Functional Web Tests

November 27, 2008

Douglas Squirrel just posted about the issues he’s having with slow functional tests. My last big project was a large website that used Selenium for functional testing. I thought I’d share what worked:

Make damn sure that Selenium doesn’t spawn a new browser. If you use (for example) JUnit tests that call [...]

Read the full article →

All build tools began with Make

August 28, 2008

(image taken from slashcrisis’ photostream)

Today I’m just going to share a pet hate: poor target names in build files. Yes, that’s scratching the surface: there’s plenty of other things to get wrong in your build. But today’s gripe is target names. Here’s an anonymised example from a real project:

<?xml version=”1.0″ ?><project name=”project” default=”tests” basedir=”..”>

<target [...]

Read the full article →