[ANN] Rant 0.4.8

Rant is a flexible build tool written entirely in Ruby,
similar to Rake.

== What's new in this release?

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.

Fixes and minor improvements:
* Besides others fixes, a fix for latest ruby 1.9 and one for
  ruby 1.8.4 preview1.

New features:
* rant-import supports --zip (-z) option for zip-compression now.
* Tasks with command change recognition.
* Improved rule support.

For more details read http://make.rubyforge.org/files/NEWS.html

I have also written a Rake/Rant comparison. It's available under
http://make.rubyforge.org/files/doc/rant_vs_rake_rdoc.html
(I can't guarantee that it is 100% objective... :wink:

== Installing Rant

You can install Rant as a RubyGem:
% gem install --remote rant

or download the package from
RubyForge(http://rubyforge.org/frs/?group_id=615)
and install with install.rb:
% ruby install.rb

== Example Rantfile

import "command"

var :CFLAGS => "-g -O2" # can be overridden from commandline

gen Command, "foo", ["foo.o", "util.o"],
"cc $[CFLAGS] -o $(name) $(prerequisites)"

The last two lines tell Rant, that the file foo depends on the files
foo.o and util.o and that foo can be built by running the command in
the last line ("cc …") in a subshell. If at least one of the
following three conditions is met, foo will be rebuilt:

1. foo doesn’t exist.
2. foo.o or util.o changed since the last build of foo.
3. The command (most probably CFLAGS) changed since the last build
of foo.

== More about Rant

The equivalent to a Makefile for make is the Rantfile. An
Rantfile is actually a valid Ruby script that is read by the
rant command.

Rant currently features:
* Defining custom tasks
* Automated packaging, testing and RDoc generation for Ruby
applications and libraries.
* Creating gzipped tar and zip archives — without installing
additional software.
* Optional recognition of file changes based on MD5 checksums instead
of file modification times.
* Multiple buildfiles (e.g. one per directory).
* The rant-import command creates a monolithic rant script,
so you don't depend on an rant installation anymore.
* Dependency checking for C/C++ source files.
* Tasks with command change recognition.
* Primitive support for compiling C# sources portably with csc, cscc
and mcs.

... and more, visit http://make.ruby-co.de

Rubyforge page:: http://rubyforge.org/projects/make/
Repository:: http://developer.berlios.de/svn/?group_id=5046

···

--
Stefan

Stefan Lang wrote:

3. The command (most probably CFLAGS) changed since the last build
   of foo.

Interesting. How is that state stored between rant executions? Or am I
misunderstanding what 3 means?

···

--
      vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Hi,

* Stefan Lang <langstefan@gmx.at> [051031 21:44]:

Rant is a flexible build tool written entirely in Ruby,
similar to Rake.

What are the differences between rant and rake? Can you explain the
advantages of rant over rake?

Thanks in advance :slight_smile:

Steph.

thanks Stefan! I use rant every day and its superb. Have not
ran into any problems since 0.4.0. I really appreciate the
work done.

- Stu : Email via xdi.org

···

On Tue, 1 Nov 2005 05:44:24 +0900, Stefan Lang <langstefan@gmx.at> wrote:

Rant is a flexible build tool written entirely in Ruby,
similar to Rake.

The MD5 checksum of the command string is calculated and then
stored in a file called .rant.meta in each directory containing
one ore more target files.

Regards,
  Stefan

···

On Monday 31 October 2005 21:49, Joel VanderWerf wrote:

Stefan Lang wrote:
> 3. The command (most probably CFLAGS) changed since the last
> build of foo.

Interesting. How is that state stored between rant executions? Or
am I misunderstanding what 3 means?

Hi,

* Stefan Lang <langstefan@gmx.at> [051031 21:44]:
> Rant is a flexible build tool written entirely in Ruby,
> similar to Rake.

What are the differences between rant and rake? Can you explain the
advantages of rant over rake?

Thanks in advance :slight_smile:

Basic syntax is (nearly) the same.
To quote myself, from the anouncement :wink:

I have also written a Rake/Rant comparison. It's available under
http://make.rubyforge.org/files/doc/rant_vs_rake_rdoc.html
(I can't guarantee that it is 100% objective... :wink:

Regards,
  Stefan

···

On Tuesday 01 November 2005 10:12, Stephan Mueller wrote:

* Stefan Lang <langstefan@gmx.at> [051101 11:29]:

Basic syntax is (nearly) the same.
To quote myself, from the anouncement :wink:

oops, shame on me!

Anyway, thank you for pointing me to the right direction.

Cheers,

Steph.