S
Stefan Lang
Rant is a flexible build tool written entirely in Ruby,
similar to Rake.
=3D=3D What's new in this release?
Incompatible changes:
* The filenames Rantfile.rb and rantfile.rb which
=C2=A0 were deprecated since the last release aren't recognized anymore.
=C2=A0 Use Rantfile, rantfile or root.rant instead.
=46ixes 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.
=46or 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...
=3D=3D Installing Rant
You can install Rant as a RubyGem:
=C2=A0 =C2=A0 % gem install --remote rant
or download the package from=20
RubyForge(http://rubyforge.org/frs/?group_id=3D615)
and install with install.rb:
=C2=A0 =C2=A0 % ruby install.rb
=3D=3D Example Rantfile
=C2=A0 import "command"
=C2=A0 var :CFLAGS =3D> "-g -O2" # can be overridden from commandline
=C2=A0 gen Command, "foo", ["foo.o", "util.o"],
=C2=A0 =C2=A0 =C2=A0 "cc $[CFLAGS] -o $(name) $(prerequisites)"
The last two lines tell Rant, that the file foo depends on the files=20
foo.o and util.o and that foo can be built by running the command in=20
the last line ("cc =E2=80=A6") in a subshell. If at least one of the=20
following three conditions is met, foo will be rebuilt:=20
1. foo doesn=E2=80=99t exist.=20
2. foo.o or util.o changed since the last build of foo.=20
3. The command (most probably CFLAGS) changed since the last build
=C2=A0 =C2=A0of foo.
=3D=3D 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
=C2=A0 applications and libraries.
* Creating gzipped tar and zip archives =E2=80=94 without installing
=C2=A0 additional software.
* Optional recognition of file changes based on MD5 checksums instead
=C2=A0 of file modification times.
* Multiple buildfiles (e.g. one per directory).
* The rant-import command creates a monolithic rant script,
=C2=A0 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
=C2=A0 and mcs.
=2E.. and more, visit http://make.ruby-co.de
Rubyforge page:: http://rubyforge.org/projects/make/
Repository:: http://developer.berlios.de/svn/?group_id=3D5046
=2D-=20
Stefan
similar to Rake.
=3D=3D What's new in this release?
Incompatible changes:
* The filenames Rantfile.rb and rantfile.rb which
=C2=A0 were deprecated since the last release aren't recognized anymore.
=C2=A0 Use Rantfile, rantfile or root.rant instead.
=46ixes 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.
=46or 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...
=3D=3D Installing Rant
You can install Rant as a RubyGem:
=C2=A0 =C2=A0 % gem install --remote rant
or download the package from=20
RubyForge(http://rubyforge.org/frs/?group_id=3D615)
and install with install.rb:
=C2=A0 =C2=A0 % ruby install.rb
=3D=3D Example Rantfile
=C2=A0 import "command"
=C2=A0 var :CFLAGS =3D> "-g -O2" # can be overridden from commandline
=C2=A0 gen Command, "foo", ["foo.o", "util.o"],
=C2=A0 =C2=A0 =C2=A0 "cc $[CFLAGS] -o $(name) $(prerequisites)"
The last two lines tell Rant, that the file foo depends on the files=20
foo.o and util.o and that foo can be built by running the command in=20
the last line ("cc =E2=80=A6") in a subshell. If at least one of the=20
following three conditions is met, foo will be rebuilt:=20
1. foo doesn=E2=80=99t exist.=20
2. foo.o or util.o changed since the last build of foo.=20
3. The command (most probably CFLAGS) changed since the last build
=C2=A0 =C2=A0of foo.
=3D=3D 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
=C2=A0 applications and libraries.
* Creating gzipped tar and zip archives =E2=80=94 without installing
=C2=A0 additional software.
* Optional recognition of file changes based on MD5 checksums instead
=C2=A0 of file modification times.
* Multiple buildfiles (e.g. one per directory).
* The rant-import command creates a monolithic rant script,
=C2=A0 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
=C2=A0 and mcs.
=2E.. and more, visit http://make.ruby-co.de
Rubyforge page:: http://rubyforge.org/projects/make/
Repository:: http://developer.berlios.de/svn/?group_id=3D5046
=2D-=20
Stefan