Vote for Buildr tagline

We are seriously thinking of updating the Buildr tagline.
We exchanged proposals over the mailing list in this thread.
If you’d like to vote on the tagline, the Doodle poll is here.
You can vote for more than one proposal.
My favorites are “lean builds”, “Ready, Set, Build!” and “Build Like You Code”.

Results soon!

Countdown to Buildr 1.4

I was elected committer for Buildr about a month ago. Since then, I spent several hours a week helping the team getting the code ready for release.

We have a good set of fixes and a few nice features stacking up for the release. Daniel added continuous compilation, a way to run Buildr in a loop to check that your code compiles while you play with it. Alex provided a nice build script so that it’s easy to package Buildr on top of JRuby, and distribute it like you would get Apache Ant (we don’t know yet how we’ll distribute it, as JRuby is not exactly under the same license). If that’s of interest for you, here is the list of fixes in Jira and our CHANGELOG as of RC1.

RC1 ? Yup, we released a first RC for 1.4 last week (here is the distro). If you have 5 minutes, please help us proofread the doc and discuss the site.

We have 9 bugs remaining for 1.4. You can expect them to be squashed in the next 2 weeks!

How to create a plugin for Buildr

Prerequisites:

  • Install git.
  • Install ruby, rubygems, and the braid gem.

The steps:

The basics:

  • Create a new folder and cd to it.
  • run git init
  • run braid add git://github.com/apache/buildr.git --branch trunk buildr
  • run ln -s buildr/rakelib rakelib
  • Create your .gemspec file.
  • Then copy buildr/Rakefile to Rakefile, and replace the reference to buildr.gemspec to your .gemspec.
  • Create your structure: a lib, a spec folder.
  • run echo "_reports" >> .gitignore

The spec setup

  • Create spec/spec_helpers.rb
  • Paste this code in it:

unless defined?(SpecHelpers)
  module SandboxHook

    def SandboxHook.included(spec_helpers)
      # For testing we use the gem requirements specified on the buildr4osgi.gemspec
      spec = Gem::Specification.load(File.expand_path('../my.gemspec', File.dirname(__FILE__)))
      spec.dependencies.each { |dep| gem dep.name, dep.version_requirements.to_s }
      # Make sure to load from these paths first, we don't want to load any
      # code from Gem library.
      $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
      require 'mymodule'
    end
  end
  require File.join(File.dirname(__FILE__), "/../buildr/spec/spec_helpers.rb")

end

You’re done.

Try rake -T to see the buildr tasks available, use rake coverage to run tests and rake failed when you need to insist.