Burke

Synopsis

Burke provides a bunch of helpers to make creating Rake files a little more pleasant. There are many subjective elements to this project, particularly when it comes to sensible defaults, but popular Ruby conventions are adhered to where possible. The project is named after Don Burke, host of an Australian gardening and home improvement show named Burke’s Backyard (www.burkesbackyard.com.au).

Features

  • DRY definition of Gem packages for multiple platforms

  • Recovery from missing libraries like Yard and RSpec

Example

Here is a sample Rakefile using Burke.

require 'rubygems'
require 'burke'

# Enable all tasks possible
Burke.enable_all

# Give Burke some data about the project
Burke.setup do
  name        'foo'
  version     '1.2.3'
  summary     'An example Ruby library with extra foo'

  docs.markup 'rdoc'

  clean       %w[.yardoc]
  clobber     %w[pkg doc html coverage]

  gems do
    add_platform  'ruby'

    add_platform  'x86-linux' do
      before_build do |spec|
        cp 'native/libfoo-x86-linux.so', 'lib/libfoo.so'
        spec.add_dependency 'ffi'
        spec.files += ['lib/libfoo.so']
      end

      after_build do
        rm 'lib/libfoo.so'
      end
    end
  end
end