= Rant NEWS == Rant 0.5.0 Incompatible changes: * The undocumented filelist methods +no_file+, +no_suffix+ and +no_prefix+ require <tt>import "filelist/more"</tt> now. Deprecated: * The undocumented <tt>var.is</tt> method. It won't be in release 0.5.4 and later. * To use a (numeric) range as variable constraint, you should explicitely <tt>import "var/numbers"</tt> now. Also explicitely <tt>import "var/strings"</tt> to use the <tt>:String</tt> constraint and <tt>import "var/booleans"</tt> to use the <tt>:Bool</tt> constraint. Read <em>Constraining variables</em> in doc/advanced.rdoc[link:files/doc/advanced_rdoc.html]. 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[link:files/doc/sys_rdoc.html]. New features: * The <tt>--dry-run</tt> (<tt>-n</tt>) option for +rant+. Read doc/rant.rdoc[link:files/doc/rant_rdoc.html]. * +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 <em>More selective actions</em> in doc/advanced.rdoc[link:files/doc/advanced_rdoc.html]. == Rant 0.4.8 Incompatible changes: * The filenames <tt>Rantfile.rb</tt> and <tt>rantfile.rb</tt> which were deprecated since the last release aren't recognized anymore. Use +Rantfile+, +rantfile+ or <tt>root.rant</tt> instead. Deprecated: * The two undocumented Array methods <tt>ary.arglist</tt> and <tt>ary.shell_pathes</tt> are deprecated. Use <tt>sys.sp(ary)</tt> in Rantfiles instead. * <tt>rant-import -v</tt> option. Use <tt>-V</tt> or <tt>--version</tt> instead. Fixes and minor improvements: * Fix output of <tt>rant -T</tt> 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 <tt>sys.ruby</tt> method uses an absolute path to start the Ruby interpreter. Thus <tt>sys.ruby</tt> also works if ruby is not on the PATH. * Fix for latest ruby 1.9, which renamed +fcall+ to +funcall+. New features: * <tt>rant-import</tt> supports <tt>--zip</tt> (<tt>-z</tt>) option for zip-compression now. * Tasks with command change recognition. Read doc/command.rdoc[link:files/doc/command_rdoc.html] * Improved rule support. == Rant 0.4.6 Incompatible changes: * *Important*: The notation <tt>"#foo"</tt> to reference a task defined in the project's root directory changed to <tt>"@foo"</tt>. * Previous Rant versions loaded both, +Rantfile+ and <tt>Rantfile.rb</tt>, if present. This version will only load one of them (preferably +Rantfile+). * +RubyTest+ tasks no longer honour TESTOPTS variable. Deprecated: * The filenames <tt>Rantfile.rb</tt> and <tt>rantfile.rb</tt> are deprecated for rantfiles and won't be recognized by future Rant versions. Use +Rantfile+, +rantfile+ or <tt>root.rant</tt> 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 <tt>sys</tt> 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 <tt>root.rant</tt> and <tt>sub.rant</tt>, where a <tt>sub.rant</tt> file is meant for a project subdirectory and is treated special. Read doc/subdirs.rdoc[link:files/doc/subdirs_rdoc.html] * The +sys+ and <tt>sys.ruby</tt> 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[link:files/doc/md5_rdoc.html] 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[link:files/doc/advanced_rdoc.html]. == 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[link:files/doc/package_rdoc.html]. * 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[link:files/doc/c_rdoc.html] documentation. * Installing ".cmd" files on Windows with the Win32::RubyCmdWrapper. Read doc/rubyproject.rdoc[link:files/doc/rubyproject_rdoc.html]. * Convenient directory/file creation with SubFile. Read doc/advanced.rdoc[link:files/doc/advanced_rdoc.html]. * 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 <tt>rac.build "target"</tt> Read doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html] and doc/advanced.rdoc[link:files/doc/advanced_rdoc.html] 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[link:files/doc/advanced_rdoc.html] 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[link:files/README.html] * Sharing variables between Rantfiles. Read doc/advanced.rdoc[link:files/doc/advanced_rdoc.html] for more info. * Selecting files with the +sys+ command. * Rules Read doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html] 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[link:files/doc/rantfile_rdoc.html] for usage. This is especially useful for bigger projects. == Rant 0.3.0 First release of Rant on RubyForge. == See also Rant Overview:: README[link:files/README.html]