🕷 zenspider.com

by ryan davis

Looking for the Ruby Quickref?

Farmer Ted uses Hoe to beat Rake (and RubyGems)

Published 2006-09-20 @ 02:06

Tagged Seattle.rb, ruby, hoe

Farmer Ted came to me the other day with a problem. He has about 10 different packages he wants to work on and periodically release, but sometimes it seems to him that maintaining a threshing machine is easier than it is maintaining all his Rakefiles and gemspecs. Most of his rakefiles are duplicated in every project yet differ slightly everywhere. His deployment rules are enhanced in one place and go stale in another. So I showed him another tool to help: Hoe!

Hoe is a tool that covers all the usual stuff you have in a project: documentation, testing, version compatibility (through multiruby), packaging, deployment, cleanup, and more. In fact, this:

  require 'rubygems'
  require 'hoe'
  Hoe.new("thingy", '1.0.0') do |p|
    p.rubyforge_name = "myproject"
    p.summary = "I'm so happy that I don't have to write this stuff anymore."

gets you all of this for free:

  % rake -T
  rake audit            # Run ZenTest against the package
  rake clean            # Clean up all the extras
  rake clobber_docs     # Remove rdoc products
  rake clobber_package  # Remove package products
  rake default          # Run the default tasks
  rake deploy           # Deploy the package to rubyforge.
  rake docs             # Build the docs HTML Files
  rake install          # Install the package. Uses PREFIX and RUBYLIB
  rake multi            # Run the test suite using multiruby
  rake package          # Build all the packages
  rake redocs           # Force a rebuild of the RDOC files
  rake repackage        # Force a rebuild of the package files
  rake test             # Run the test suite. Use FILTER to add to the command line.
  rake uninstall        # Uninstall the package.
  rake upload           # Upload RDoc to RubyForge

Farmer Ted tried it out and he’s much much happier now.

Hoe is real young right now. Rough around the edges. Undocumented. Etc. You’ve been warned. That said, please try it out and let me know what you think.

sudo gem install hoe