Rant NEWS

Rant 0.5.7

Fixes and minor improvements:

  • Fixed: Rules wouldn’t work if the target file was specified by an absolute path. (Reported by Brendan Boesen.)
  • Fixed: Script files use env ruby (Russel Windir)

New features:

  • The method Rant::Sys.absolute_path?. Read doc/sys.rdoc for documentation.
  • Added non-deprecated support for C#. Read doc/csharp.rdoc for documentation.

Rant 0.5.6

Fixes and minor improvements:

  • Package::Zip, Package::Tgz: Fix bug where a file that starts with the package name wouldn’t be included in the package. (Reported and fixed by Kevin Burge.)
  • Fixed: The C source file scanner used by the C::Dependencies task was confused by C-style single-line comments.
  • Fix a typo in the C::Dependencies task which affected the :search option. (Reported by Kevin Burge.)
  • RubyTest no longer uses testrb as test runner per default. Thus it works on systems without testrb now (e.g. Debian based systems). The old behaviour can be enabled by setting the loader attribute to :testrb. A patch was provided by Max Nickel.

New features:

  • The C::Dependencies task accepts the new option :correct_case, which is useful on case-insenstive file systems. (Patch provided by Peter Allin.) Read doc/c.rdoc for documentation.
  • The method Rant::Sys.root_dir?. Read doc/sys.rdoc for documentation.

Rant 0.5.4

Incompatible changes:

  • The undocumented method var.is which is deprecated since release 0.5.2 is not defined anymore.

Fixes and minor improvements:

  • Fix a rule bug where a custom rule task wouldn’t find it’s prerequisites in subdirectories.
  • An non-backwards compatible change in the YAML library of Ruby 1.8.3 and newer causes gems to be non-backwards compatible. The fix for backwards compatibility of gems created with RubyPackage is enabled for all newer Ruby versions now. (See changes of last Rant release.)
  • The new method sys.write_to_binfile. (Kevin Burge’s idea.) Read doc/sys.rdoc for documentation.

Rant 0.5.2

Incompatible changes:

  • The two undocumented Array methods ary.arglist and ary.shell_pathes, which are deprecated since release 0.4.8, are removed with this release. Use sys.sp(ary) in Rantfiles instead.
  • The method rac which is deprecated since release 0.4.6 is gone.
  • Filelists no longer respond to all Array methods. To use the filelist method no_dir, import "filelist/std" is required now. See below for documentation links.

Fixes and minor improvements:

  • A bug in the YAML library of Ruby 1.8.3/1.8.4-preview1 prevented created gems to work with other ruby versions. Since this Rant release gems created with a RubyPackage task and Ruby 1.8.3 will work with all Ruby versions (with gem support, of course).
  • Fixed bug where the method Rant::Sys.split_all would drop a leading dot directory (e.g. as in "./foo/bar").
  • New method Rant::Sys.regular_filename for filename conversion.

New features:

  • Major rework of filelist support. The Rant::FileList class is available as "normal" Ruby library now. Read doc/filelist.rdoc for Rant::FileList documentation and doc/sys_filelist.rdoc for instructions on how to use filelists in Rantfiles.

Rant 0.5.0

Incompatible changes:

  • The undocumented filelist methods no_file, no_suffix and no_prefix require import "filelist/more" now.

Deprecated:

  • The undocumented var.is method. It won’t be in release 0.5.4 and later.
  • To use a (numeric) range as variable constraint, you should explicitely import "var/numbers" now. Also explicitely import "var/strings" to use the :String constraint and import "var/booleans" to use the :Bool constraint. Read Constraining variables in doc/advanced.rdoc.

Fixes and minor improvements:

  • Fix a few warnings from ruby 1.8.0/1.8.1.
  • Prevent infinite rule recursion.
  • Documentation for common file system operations and path manipulation methods. Read doc/sys.rdoc.

New features:

  • The —dry-run (-n) option for rant. Read doc/rant.rdoc.
  • Action takes a regular expression now. When rant looks for a task/file that matches the regular expression, the action block will get executed once. Read More selective actions in doc/advanced.rdoc.

Rant 0.4.8

Incompatible changes:

  • The filenames Rantfile.rb and rantfile.rb which were deprecated since the last release aren’t recognized anymore. Use Rantfile, rantfile or root.rant instead.

Deprecated:

  • The two undocumented Array methods ary.arglist and ary.shell_pathes are deprecated. Use sys.sp(ary) in Rantfiles instead.
  • rant-import -v option. Use -V or —version instead.

Fixes and minor improvements:

  • Fix output of rant -T for descriptions with more than two lines.
  • Filelists: Same handling of files starting with a dot with all supported ruby versions (1.8.0 - 1.9).
  • The sys.ruby method uses an absolute path to start the Ruby interpreter. Thus sys.ruby also works if ruby is not on the PATH.
  • Fix for latest ruby 1.9, which renamed fcall to funcall.

New features:

  • rant-import supports —zip (-z) option for zip-compression now.
  • Tasks with command change recognition. Read doc/command.rdoc
  • Improved rule support.

Rant 0.4.6

Incompatible changes:

  • Important: The notation "foo" to reference a task defined in the project’s root directory changed to "@foo".
  • Previous Rant versions loaded both, Rantfile and Rantfile.rb, if present. This version will only load one of them (preferably Rantfile).
  • RubyTest tasks no longer honour TESTOPTS variable.

Deprecated:

  • The filenames Rantfile.rb and rantfile.rb are deprecated for rantfiles and won’t be recognized by future Rant versions. Use Rantfile, rantfile or root.rant instead.

Fixes and minor improvements:

  • Fix an issue where a file was unnecessary rebuilt when rant was started from different directories, the file task was created from a rule and md5 signatures were used.
  • Concise output from Package::Tgz and Package::Zip tasks.
  • A manpage will be installed on Linux/Unix systems by the install.rb script.
  • A fix for a FileUtils::Verbose bug in Ruby 1.8.3 which affects some sys methods.

New features:

  • The —cd-parent (-c) option to search for an Rantfile in parent directories.
  • The —look-up (-u) option to search for the root Rantfile in parent directories.
  • Recognition of rantfiles with the names root.rant and sub.rant, where a sub.rant file is meant for a project subdirectory and is treated special. Read doc/subdirs.rdoc
  • The sys and sys.ruby methods take an optional block for custom process exit status handling (per default, Rant aborts if a subprocess started with sys exits with another status than 0).

Rant 0.4.4

Besides internal changes, this release is backwards compatible to 0.4.2.

Fixes and minor improvements:

  • Rant is Ruby 1.8.0 compatible now.
  • Fixes for filelists.
  • A fix for Directory generator (and thus dependent features).

New features:

  • Optional recognition of file changes based on MD5 checksums. Read doc/md5.rdoc for documentation.

Rant 0.4.2

This is mainly a bugfix release and thus fully backwards compatible to 0.4.0.

Fixes and minor improvements:

  • Fixes for Ruby 1.8.1 compatibility.
  • Fixes for Rules and multiple buildfiles per project.
  • rant-import created scripts append inlined files to $LOADED_FEATURES.

New features:

  • The make command.
  • New method sub_ext for filelists.

Read doc/advanced.rdoc.

Rant 0.4.0

Unless you extended Rant with a custom generator, you can upgrade from 0.3.8 without changing any dependent code.

Incompatible changes:

  • Internal: A generator has to respond to rant_gen instead of rant_generate.

New features:

  • Creating zip and gzipped tar archives on all supported platforms without installing extra software. Seamless integration with rant-import. Read doc/package.rdoc.
  • The standard RubyPackage tasks create zip and gzipped tar archives (and optional gem packages) on all platforms, including Windows, now.
  • rant-import recognizes the new directives uncomment and remove.

Rant 0.3.8

This version should be fully backwards compatible to 0.3.6.

New features:

  • Dependency checking for C/C++ sources. Read doc/c.rdoc documentation.
  • Installing ".cmd" files on Windows with the Win32::RubyCmdWrapper. Read doc/rubyproject.rdoc.
  • Convenient directory/file creation with SubFile. Read doc/advanced.rdoc.
  • rant-import inlines specially marked, require files.

Rant 0.3.6

This version should be fully backwards compatible to 0.3.4.

New features:

  • Automatic cleanup of generated files
  • Directed rules
  • Constraining variables
  • rant-import searches $LOAD_PATH
  • Immediately build targets with rac.build "target"

Read doc/rantfile.rdoc and doc/advanced.rdoc for docu.

Rant 0.3.4

Incompatible changes:

  • Arguments of the form VAR=VAL to rant no longer set environment variables directly, they are available through var now. Read doc/advanced.rdoc for more info.
  • Replace any
      include Sys
    

    with

      include Rant::Sys
    

    in Rantfiles. Or even better: don’t include the Sys module.

New features:

  • Installation with install.rb installs .cmd files on Windows. Read README
  • Sharing variables between Rantfiles. Read doc/advanced.rdoc for more info.
  • Selecting files with the sys command.
  • Rules

Read doc/rantfile.rdoc for docu.

Rant 0.3.2

This version should be fully backwards compatible to 0.3.0.

New features:

  • Support splitting your buildfiles up and placing them into multiple directories with the subdirs command. Please read doc/rantfile.rdoc for usage. This is especially useful for bigger projects.

Rant 0.3.0

First release of Rant on RubyForge.

See also

Rant Overview:README