Skip to content

Category Archives: Java

Repository? That’s not a repository …

… this is a repository. I’ve been experimenting with Amazon S3 as a Maven repository. I threw the results up on GitHub [link]. Why? I’ve been working with some nice people who use binary dependencies. In order to scale their CI system past one node, they need a repository manager, to temporarily store built artifacts [...]

Is Maven agile?

Is Maven agile? Here’s my half-assed reasons why: agile methodologies can uncover issues in your organisation. I’ve got a pet theory that Maven will do the same for your code.  Some build tools allow you to paper over the cracks of your code and tests.  Tests too slow?  Then parallelize them.  Code won’t compile cleanly?  [...]

Ant will eat itself

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

dbdeploy.net

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

Bamboo 2.5 released with improved Maven support

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

Ant Contrib: the power and the pain

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

Better Apache Ant Builds

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 smart-ass comments. As I had my [...]

Apache Ant script reuse

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

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

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 arg1="${junit.enabled}" arg2="true" /> </and> </condition> </target> <target [...]