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." end
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.