J
Jim Weirich
= 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
behavior of real arrays even more closely. In particular,
operations on FileLists that return a new collection (e.g. collect,
reject) will now return a FileList rather than an array. In
addition, several places where FileLists were not properly expanded
before use have been fixed.
* A method (+ext+) to simplify the handling of file extensions was
added to String and to Array.
* The 'testrb' script in test/unit tends to silently swallow syntax
errors in test suites. Because of that, the default test loader is
now a rake-provided script. You can still use 'testrb' by setting
the loader flag in the test task to :testrb. (See the API documents
for TestTask for all the loader flag values).
* FileUtil methods (e.g. cp, mv, install) are now declared to be
private. This will cut down on the interference with user defined
methods of the same name.
* Fixed the verbose flag in the TestTask so that the test code is
controlled by the flag. Also shortened up some failure messages.
* Rules will now properly detect a task that can generate a source
file. Previously rules would only consider source files that were
already present.
* Added an +import+ command that allows Rake to dynamically import
dependencies into a running Rake session. The +import+ command
can run tasks to update the dependency file before loading them.
Dependency files can be in rake or make format, allowing rake to
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 ...
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/
Download:: 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
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
FileList implementation.
* Alexey Verkhovsky pointing out the silently swallows syntax errors
in tests.
* Tobias Luetke for beautifying the test task output.
* Sam Roberts for some of the ideas behind dependency loading.
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
behavior of real arrays even more closely. In particular,
operations on FileLists that return a new collection (e.g. collect,
reject) will now return a FileList rather than an array. In
addition, several places where FileLists were not properly expanded
before use have been fixed.
* A method (+ext+) to simplify the handling of file extensions was
added to String and to Array.
* The 'testrb' script in test/unit tends to silently swallow syntax
errors in test suites. Because of that, the default test loader is
now a rake-provided script. You can still use 'testrb' by setting
the loader flag in the test task to :testrb. (See the API documents
for TestTask for all the loader flag values).
* FileUtil methods (e.g. cp, mv, install) are now declared to be
private. This will cut down on the interference with user defined
methods of the same name.
* Fixed the verbose flag in the TestTask so that the test code is
controlled by the flag. Also shortened up some failure messages.
* Rules will now properly detect a task that can generate a source
file. Previously rules would only consider source files that were
already present.
* Added an +import+ command that allows Rake to dynamically import
dependencies into a running Rake session. The +import+ command
can run tasks to update the dependency file before loading them.
Dependency files can be in rake or make format, allowing rake to
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 ...
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/
Download:: 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
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
FileList implementation.
* Alexey Verkhovsky pointing out the silently swallows syntax errors
in tests.
* Tobias Luetke for beautifying the test task output.
* Sam Roberts for some of the ideas behind dependency loading.