WebDriver creator Simon Stewart knows a thing or two about building code. So I was intrigued when he mentioned that he’d written a grammar for Rake, to enable building Java code. Replacing Ant with Rake has been a compelling idea for some years now. Until now I wasn’t convinced that you weren’t going to have [...]
This has been surprisingly useful at keeping my JS code clean. desc “Check for tabs and trailing spaces” task :crapcheck do Dir["public/**/*.js"].each do |f| next if f.match(/^lib|resources/) text = File.read(f) raise “Tabs found in #{f}” if text.match(/\t/) raise “Trailing spaces found in #{f}” if text.match(/ $| $/) end end The tab check is useful because [...]
Monday, September 27, 2010
Dave Farley, co-author of Continuous Delivery (I got my copy last month – more on that in another post) commented on a blog post about the origins of the term build pipeline. He might well do, as it was his idea to make the pipeline concept central to the book. Being a bit of a [...]
I’ve seen many a company try to migrate from Ant to Maven with varied success. There is a change in mindset that has to come about when making the transition. Here are some of the highlights. Standard Findings Monolithic build structure This is the first big shift in thinking. Typical (obviously, not ALL) Ant projects [...]
Also filed in
|
|
Look who just got an article on CMCrossroads - me. There’s a reasonable amount of crossover in our audiences, so I’m glad to have this done. Thanks to Bob and Jonathan for getting this out there. You Could Totally Use a Dependency Manager.
Also filed in
|
|
There’s nothing wrong with Ant. No, really! True, there’s some nasty Ant files out there. Perhaps that’s because we often treat our build as a second class citizen. How do you keep your build files from becoming bloated and hard to maintain? Break ‘em up! I’m going to use a classic problem to illustrate this: [...]
Also filed in
|
|
In the final installment, I’m going to talk about how to share configuration between developer level environments on through to clustered or “stack” type environments. Recycling Configuration Ok – so now your configuration is its own standalone Maven module with its own series of branches and build process. But what if there are shared items [...]
Also filed in
|
|
Supporting Multiple Environments – Part 3 (part one and two) In this installment, I’m going to cover the configuration storage mechanism for this separate configuration jar approach. Configuration Storage With the approach listed in step two, it’s easiest to manage the actual values via property files, stacked up in a layered approach. Here’s what we [...]
Wednesday, March 31, 2010
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? [...]
(see part one of this series here) In this installment, I’m going to cover the four cheap-fast ways I’ve seen discussed to generate configuration for your application. Managing Configuration There are a few ways I’ve found or seen discussed over the years for managing the configuration portion of a deployment (local or otherwise). I don’t [...]