All Versions
91
Latest Version
Avg Release Cycle
79 days
Latest Release
-

Changelog History
Page 7

  • v0.6.0 Changes

    ๐Ÿ›  Its time for some long requested enhancements and lots of bug fixes ๐ŸŒ ... And a whole new web page.

    ==== ๐Ÿ†• New Web Page

    ๐Ÿ“š The primary documentation for rake has moved from the RubyForge based ๐ŸŒ wiki to its own Hieraki based web site. Constant spam on the wiki made it a difficult to keep clean. The new site will be easier to โšก๏ธ update and organize.

    ๐Ÿ“š Check out the new documentation at: http://docs.rubyrake.org

    ๐Ÿ“š We will be adding new documentation to the site as time goes on.

    ๐Ÿ“„ In addition to the new docs page, make sure you check out Martin Fowlers article on rake at http://martinfowler.com/articles/rake.html

    ==== ๐Ÿ”„ Changes

    ===== ๐Ÿ†• New Features

    • Multiple prerequisites on Rake rules now allowed. However, keep the following in mind:
    1. All the prerequisites of a rule must be available before a rule is triggered, where "enabled" means (a) an existing file, (b) a defined rule, or (c) another rule which also must be trigger-able.
    2. Rules are checked in order of definition, so it is important to order your rules properly. If a file can be created by two different rules, put the more specific rule first (otherwise the more general rule will trigger first and the specific one will never be triggered).
    3. The source method now returns the name of the first prerequisite listed in the rule. sources returns the names of all the rule prerequisites, ordered as they are defined in the rule. If the task has other prerequisites not defined in the rule (but defined in an explicit task definition), then they will not be included in the sources list.
    • FileLists may now use the egrep command. This popular enhancement is now a core part of the FileList object. If you want to get a list of all your to-dos, fixmes and TBD comments, add the following to your Rakefile.

      desc "Look for TODO and FIXME tags in the code" task :todo do FileList['*/.rb'].egrep /#.*(FIXME|TODO|TBD)/ end

    • The investigation method was added to task object to dump out some important values. This makes it a bit easier to debug Rake tasks.

    For example, if you are having problems with a particular task, just print it out:

    task :huh do
      puts Rake::Task['huh'].investigation
    end
    
    • โœ… The Rake::TestTask class now supports a "ruby_opts" option to pass arbitrary ruby options to a test subprocess.

    ===== Some Incompatibilities

    • ๐Ÿ’Ž When using the ruby command to start a Ruby subprocess, the Ruby interpreter that is currently running rake is used by default. This makes it easier to use rake in an environment with multiple ruby installation. (Previously, the first ruby command found in the PATH was used).

    If you wish to chose a different Ruby interpreter, you can explicitly choose the interpreter via the sh command.

    • The major rake classes (Task, FileTask, FileCreationTask, RakeApp) have been moved out of the toplevel scope and are now accessible as Rake::Task, Rake::FileTask, Rake::FileCreationTask and Rake::Application. If your Rakefile directly references any one of these tasks, you may:
    1. Update your Rakefile to use the new classnames
    2. Use the --classic-namespace option on the rake command to get the old behavior,
    3. Add require 'rake/classic_namespace' to the Rakefile to get the old behavior.

    rake will print a rather annoying warning whenever a deprecated class name is referenced without enabling classic namespace.

    ===== ๐Ÿ› Bug Fixes

    • โœ… Several unit tests and functional tests were fixed to run better under windows.

    • Directory tasks are now a specialized version of a File task. A directory task will only be triggered if it doesn't exist. It will not be triggered if it is out of date w.r.t. any of its prerequisites.

    • ๐Ÿ›  Fixed a bug in the Rake::GemPackageTask class so that the gem now properly contains the platform name.

    • ๐Ÿ›  Fixed a bug where a prerequisite on a file task would cause an exception if the prerequisite did not exist.

    ==== Thanks

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

    • โœ… Greg Fast (better ruby_opt test options)
    • ๐Ÿ‘ Kelly Felkins (requested by better namespace support)
    • Martin Fowler (suggested Task.investigation)
    • Stuart Jansen (send initial patch for multiple prerequisites).
    • ๐Ÿ’Ž Masao Mutch (better support for non-ruby Gem platforms)
    • ๐Ÿ‘ป Philipp Neubeck (patch for file task exception fix)

    -- Jim Weirich

  • v0.5.4 Changes

    ๐Ÿ›  Time for some minor bug fixes and small enhancements

    ==== ๐Ÿ”„ Changes

    Here are the changes for version 0.5.4 ...

    • โž• Added double quotes to the test runner. This allows the location of the tests (and runner) to be in a directory path that contains spaces (e.g. "C:/Program Files/ruby/bin").
    • โž• Added .svn to default ignore list. Now subversion project metadata is automatically ignored by Rake's FileList.
    • โšก๏ธ Updated FileList#include to support nested arrays and filelists. FileLists are flat lists of file names. Using a FileList in an include will flatten out the nested file names.
  • v0.5.3 Changes

    ๐Ÿš€ 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. (Thanks to Tobias Luetke for the suggestion).
    • 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 dependendencies 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.

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

    -- Jim Weirich

  • v0.5.0 Changes

    It has been a long time in coming, but we finally have a new version of Rake available.

    ==== ๐Ÿ”„ Changes

    • ๐Ÿ›  Fixed documentation that was lacking the Rake module name (Tilman Sauerbeck).
    • โž• Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
    • ๐Ÿ‘ Recursive rules are now supported (Tilman Sauerbeck).
    • โž• Added warning option for the Test Task (requested by Eric Hodel).
    • The jamis rdoc template is only used if it exists.
    • โž• Added fix for Ruby 1.8.2 test/unit and rails problem.
    • โž• Added contributed rake man file (Jani Monoses).
    • โž• Added Brian Candler's fix for problems in --trace and --dry-run mode.

    ==== Thanks

    ๐Ÿš€ Lots of people provided input to this release. Thanks to Tilman ๐Ÿ“š Sauerbeck for numerous patches, documentation fixes and suggestions. ๐Ÿš€ And for also pushing me to get this release out. Also, thanks to Brian Candler for the finding and fixing --trace/dry-run fix. That was an obscure bug. Also to Eric Hodel for some good suggestions.

    -- Jim Weirich

  • v0.4.15 Changes

    ==== ๐Ÿ”„ Changes

    ๐Ÿ”– Version 0.4.15 is a bug fix update for the Ruby 1.8.2 compatibility ๐Ÿš€ changes. This release includes:

    • ๐Ÿ›  Fixed a bug that prevented the TESTOPTS flag from working with the revised for 1.8.2 test task.
    • โšก๏ธ Updated the docs on --trace to indicate that it also enables a full backtrace on errors.
    • โš  Several fixes for new warnings generated.

    ==== Mini-Roadmap

    โšก๏ธ I will continue to issue Rake updates in the 0.4.xx series as new ๐Ÿ’Ž Ruby-1.8.2 issues become manifest. Once the codebase stabilizes, I ๐Ÿš€ will release a 0.5.0 version incorporating all the changes. If you ๐Ÿ’Ž are not using Ruby-1.8.2 and wish to avoid version churn, I recommend ๐Ÿš€ staying with a release prior to Rake-0.4.14.

  • v0.4.14 Changes

    ๐Ÿ”– Version 0.4.14 is a compatibility fix to allow Rake's test task to โœ… work under Ruby 1.8.2. A change in the Test::Unit autorun feature ๐Ÿš€ prevented Rake from running any tests. This release fixes the problem.

    ๐Ÿš€ Rake 0.4.14 is the recommended release for anyone using Ruby 1.8.2.

  • v0.4.13 Changes

    • ๐Ÿ›  Fixed the dry-run flag so it is operating again.
    • ๐Ÿ’Ž Multiple arguments to sh and ruby commands will not be interpreted by the shell (patch provided by Jonathan Paisley).
  • v0.4.12 Changes

    • โž• Added --silent (-s) to suppress the (in directory) rake message.
  • v0.4.11 Changes

    • ๐Ÿ”„ Changed the "don't know how to rake" message (finally)
    • ๐Ÿ”„ Changes references to a literal "Rakefile" to reference the global variable $rakefile (which contains the actual name of the rakefile).
  • v0.4.10 Changes

    • โž• Added block support to the "sh" command, allowing users to take special actions on the result of the system call. E.g.

      sh "shell_command" do |ok, res| puts "Program returned #{res.exitstatus}" if ! ok end