# \[ANN\] Rake 0.5.3 Release

**URL:** <https://rubytalk.org/t/ann-rake-0-5-3-release/17535>\
**Category:** ruby-talk\
**Created:** [9 April 2005 12:43 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535 "2005-04-09T12:43:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jim\_Weirich1](https://avatars.discourse-cdn.com/v4/letter/j/73ab20/32.png) [@Jim\_Weirich1](https://rubytalk.org/u/Jim_Weirich1)\
**Post date:** [9 April 2005 12:43 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/1 "2005-04-09T12:43:03Z")

</div>

= Rake 0.5.0 Released

Although it has only been two weeks since the last release, we have  
enough updates to the Rake program to make it time for another  
release.

== Changes

Here are the changes for version 0.5.3 ...

\* FileLists have been extensively changed so that they mimic the  
&nbsp;&nbsp;behavior of real arrays even more closely. In particular,  
&nbsp;&nbsp;operations on FileLists that return a new collection (e.g. collect,  
&nbsp;&nbsp;reject) will now return a FileList rather than an array. In  
&nbsp;&nbsp;addition, several places where FileLists were not properly expanded  
&nbsp;&nbsp;before use have been fixed.

\* A method (+ext+) to simplify the handling of file extensions was  
&nbsp;&nbsp;added to String and to Array.

\* The 'testrb' script in test/unit tends to silently swallow syntax  
&nbsp;&nbsp;errors in test suites. Because of that, the default test loader is  
&nbsp;&nbsp;now a rake-provided script. You can still use 'testrb' by setting  
&nbsp;&nbsp;the loader flag in the test task to :testrb. (See the API documents  
&nbsp;&nbsp;for TestTask for all the loader flag values).

\* FileUtil methods (e.g. cp, mv, install) are now declared to be  
&nbsp;&nbsp;private. This will cut down on the interference with user defined  
&nbsp;&nbsp;methods of the same name.

\* Fixed the verbose flag in the TestTask so that the test code is  
&nbsp;&nbsp;controlled by the flag. Also shortened up some failure messages.

\* Rules will now properly detect a task that can generate a source  
&nbsp;&nbsp;file. Previously rules would only consider source files that were  
&nbsp;&nbsp;already present.

\* Added an +import+ command that allows Rake to dynamically import  
&nbsp;&nbsp;dependencies into a running Rake session. The +import+ command  
&nbsp;&nbsp;can run tasks to update the dependency file before loading them.  
&nbsp;&nbsp;Dependency files can be in rake or make format, allowing rake to  
&nbsp;&nbsp;work with tools designed to generate dependencies for make.

== 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.

== Availability

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

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

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

Home Page:: [http://rake.rubyforge.org/](http://rake.rubyforge.org/)  
Download:: [http://rubyforge.org/project/showfiles.php?group\_id=50](http://rubyforge.org/project/showfiles.php?group_id=50)

== Thanks

As usual, it was input from users that drove a alot of these changes.  
Thanks to ...

\* Brian Gernhardt for the rules fix (especially for the patience to  
&nbsp;&nbsp;explain the problem to me until I got what he was talking about).  
\* Stefan Lang for pointing out problems in the dark corners of the  
&nbsp;&nbsp;FileList implementation.  
\* Alexey Verkhovsky pointing out the silently swallows syntax errors  
&nbsp;&nbsp;in tests.  
\* Tobias Luetke for beautifying the test task output.  
\* Sam Roberts for some of the ideas behind dependency loading.

> **···**
>
> --  
> -- Jim Weirich [jim@weirichhouse.org](mailto:jim@weirichhouse.org)[http://onestepback.org](http://onestepback.org)  
> -----------------------------------------------------------------  
> "Beware of bugs in the above code; I have only proved it correct,  
> not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)

---

<div class="post-metadata">

**Author:** ![Nobuyoshi\_Nakada](https://avatars.discourse-cdn.com/v4/letter/n/edb3f5/32.png) [@Nobuyoshi\_Nakada](https://rubytalk.org/u/Nobuyoshi_Nakada)\
**Post date:** [13 April 2005 04:46 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/2 "2005-04-13T04:46:15Z")

</div>

Hi,

At Sat, 9 Apr 2005 21:43:03 +0900,  
Jim Weirich wrote in [ruby-talk:137578]:

> = Rake 0.5.0 Released

It doesn't run.

$ rake  
/usr/lib/ruby/gems/1.9/gems/rake-0.5.3/lib/rake.rb:658:in `private': undefined method `options' for class `Object' (NameError)  
&nbsp;&nbsp;from /usr/lib/ruby/gems/1.9/gems/rake-0.5.3/lib/rake.rb:658  
&nbsp;&nbsp;from /usr/lib/ruby/gems/1.9/gems/rake-0.5.3/lib/rake.rb:657:in `each'  
&nbsp;&nbsp;from /usr/lib/ruby/gems/1.9/gems/rake-0.5.3/lib/rake.rb:657  
&nbsp;&nbsp;from /usr/lib/ruby/site\_ruby/1.9/rubygems/custom\_require.rb:18:in `require'  
&nbsp;&nbsp;from /usr/lib/ruby/site\_ruby/1.9/rubygems/custom\_require.rb:18:in `require'  
&nbsp;&nbsp;from /usr/lib/ruby/gems/1.9/gems/rake-0.5.3/bin/rake:2  
&nbsp;&nbsp;from /usr/bin/rake:18:in `load'  
&nbsp;&nbsp;from /usr/bin/rake:18

--- rake-0.5.3/lib/rake.rb.orig 1970-01-01 09:00:00.000000000 +0900  
+++ rake-0.5.3/lib/rake.rb 2005-04-12 15:01:59.501750000 +0900  
@@ -652,11 +652,6 @@  
# define methods on other objects.

-file\_utils\_methods = (FileUtils.methods - Object.methods)  
include RakeFileUtils

> **···**
>
> -  
> -file\_utils\_methods.each do |name|  
> - private name.to\_sym  
> -end  
> -file\_utils\_methods = nil  
> +private(\*FileUtils.instance\_methods(false))
> 
> ######################################################################  
>   
> --  
> Nobu Nakada

---

<div class="post-metadata">

**Author:** ![Jim\_Weirich1](https://avatars.discourse-cdn.com/v4/letter/j/73ab20/32.png) [@Jim\_Weirich1](https://rubytalk.org/u/Jim_Weirich1)\
**Post date:** [13 April 2005 11:53 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/3 "2005-04-13T11:53:54Z")

</div>

> Jim Weirich wrote in [ruby-talk:137578]:  
> \> = Rake 0.5.0 Released
> 
> It doesn't run.

(under ruby 1.9)

> include RakeFileUtils  
> +private(\*FileUtils.instance\_methods(false))

Thanks for the patch. I grabbed the latest 1.9 CVS and tried to test it, but  
it seemed to have trouble with optparse. So I wasn't able to test the  
changes under Ruby 1.9. I've made a beta gem available is someone would like  
to verify it. You can get the beta version (0.5.3.2) with ...

&nbsp;&nbsp;gem update rake --source [http://onestepback.org/betagems](http://onestepback.org/betagems)

> **···**
>
> On Wednesday 13 April 2005 12:46 am, nobu.nokada@softhome.net wrote:
> 
> --  
> -- Jim Weirich jim@weirichhouse.org [http://onestepback.org](http://onestepback.org)  
> -----------------------------------------------------------------  
> "Beware of bugs in the above code; I have only proved it correct,  
> not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)

---

<div class="post-metadata">

**Author:** ![Nobuyoshi\_Nakada](https://avatars.discourse-cdn.com/v4/letter/n/edb3f5/32.png) [@Nobuyoshi\_Nakada](https://rubytalk.org/u/Nobuyoshi_Nakada)\
**Post date:** [13 April 2005 12:35 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/4 "2005-04-13T12:35:04Z")

</div>

Hi,

At Wed, 13 Apr 2005 20:53:54 +0900,  
Jim Weirich wrote in [ruby-talk:138067]:

> Thanks for the patch. I grabbed the latest 1.9 CVS and tried to test it, but  
> it seemed to have trouble with optparse. So I wasn't able to test the

What's trouble?

> **···**
>
> --  
> Nobu Nakada

---

<div class="post-metadata">

**Author:** ![Jim\_Weirich1](https://avatars.discourse-cdn.com/v4/letter/j/73ab20/32.png) [@Jim\_Weirich1](https://rubytalk.org/u/Jim_Weirich1)\
**Post date:** [13 April 2005 14:25 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/5 "2005-04-13T14:25:48Z")

</div>

nobu.nokada@softhome.net said:

> Hi,
> 
> At Wed, 13 Apr 2005 20:53:54 +0900,  
> Jim Weirich wrote in [ruby-talk:138067]:
> 
> > Thanks for the patch. I grabbed the latest 1.9 CVS and tried to test  
> > it, but  
> > it seemed to have trouble with optparse. So I wasn't able to test the
> 
> What's trouble?

Ahh ... I'm at work now and had the trouble at home, so the following is  
from memory...

In optparse it was complaining about an undefined method 'pattern' on a  
string object.

I'll give more details when I get back home this evening.

> **···**
>
> --  
> -- Jim Weirich jim@weirichhouse.org [http://onestepback.org](http://onestepback.org)  
> -----------------------------------------------------------------  
> "Beware of bugs in the above code; I have only proved it correct,  
> not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)

---

<div class="post-metadata">

**Author:** ![Nobuyoshi\_Nakada](https://avatars.discourse-cdn.com/v4/letter/n/edb3f5/32.png) [@Nobuyoshi\_Nakada](https://rubytalk.org/u/Nobuyoshi_Nakada)\
**Post date:** [13 April 2005 14:41 UTC](https://rubytalk.org/t/ann-rake-0-5-3-release/17535/6 "2005-04-13T14:41:02Z")

</div>

Hi,

At Wed, 13 Apr 2005 23:25:48 +0900,  
Jim Weirich wrote in [ruby-talk:138091]:

> In optparse it was complaining about an undefined method 'pattern' on a  
> string object.

OK, fixed.

> **···**
>
> --  
> Nobu Nakada
