Last Update: 2011-05-25 01:40:19 -0400

Rake 0.9.0 Released

Rake version 0.9.0 has a number of bug fixes and enhancments (see below for more details). Additionally, the internals have be slightly restructured and improved.


New Features / Enhancements / Bug Fixes in Version 0.9.0

  • Rake now warns when the deprecated :needs syntax used (and suggests the proper syntax in the warning).

  • Moved Rake DSL commands to top level ruby object ‘main’. Rake DSL commands are no longer private methods in Object. (Suggested by James M. Lawrence/quix)

  • Rake now uses case-insensitive comparisons to find the Rakefile on Windows. Based on patch by Roger Pack.

  • Rake now requires (instead of loads) files in the test task. Patch by Cezary Baginski.

  • Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.

  • Rake now prints the Rakefile directory only when it’s different from the current directory. Patch by Alex Chaffee.

  • Improved rakefile_location discovery on Windows. Patch by James Tucker.

  • Rake now recognizes “Windows Server” as a windows system. Patch by Matthias Lüdtke

  • Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require ‘rdoc/task’)

  • Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require ‘rubygems/package_task’)

  • Rake now outputs various messages to $stderr instead of $stdout.

  • Rake no longer emits warnings for Config. Patch by Santiago Pastorino.

  • Removed Rake’s DSL methods from the top level scope. If you need to call ‘task :xzy’ in your code, include Rake::DSL into your class, or put the code in a Rake::DSL.environment do … end block.

  • Split rake.rb into individual files.

  • Support for the —where (-W) flag for showing where a task is defined.

  • Fixed quoting in test task. (onestepback.org/redmine/issues/show/44, www.pivotaltracker.com/story/show/1223138)

  • Fixed the silent option parsing problem. (onestepback.org/redmine/issues/show/47)

  • Fixed :verbose=>false flag on sh and ruby commands.

  • Rake command line options may be given by default in a RAKEOPT environment variable.

  • Errors in Rake will now display the task invocation chain in effect at the time of the error.

  • Accepted change by warnickr to not expand test patterns in shell (allowing more files in the test suite).

  • Fixed that file tasks did not perform prereq lookups in scope (Redmine #57).

What is Rake

Rake is a build tool similar to the make program in many ways. But instead of cryptic make recipes, Rake uses standard Ruby code to declare tasks and dependencies. You have the full power of a modern scripting language built right into your build tool.


The easiest way to get and install rake is via RubyGems …

gem install rake    (you may need root/admin privileges)

Otherwise, you can get it from the more traditional places:

Home Page







As usual, it was input from users that drove a alot of these changes. The following people either contributed patches, made suggestions or made otherwise helpful comments. Thanks to …

  • James M. Lawrence (quix)

  • Roger Pack

  • Cezary Baginski

  • Sean Scot August Moon

  • R.T. Lechow

  • Alex Chaffee

  • James Tucker

  • Matthias Lüdtke

  • Santiago Pastorino

Also, bit thanks to Eric Hodel for assisting with getting this release out the door (where “assisting” includes, but is not by any means limited to, “pushing” me to get it done).

— Jim Weirich