A flexible and portable build tool.
rant [OPTION]...[TARGET]...
Striking features
* Defining custom tasks.
* Automated packaging, testing and RDoc generation for Ruby
applications and libraries.
* Creation of a monolithic script tailored to the needs of a specific
project which can be used instead of an Rant installation - users don't need to install Rant. [See man rant-import]
* Creating gzipped tar and zip archives -- without installing
additional software.
* Optional recognition of file changes based on MD5 checksums instead
of file modification times.
* Dependency checking for C/C++ source files (integrated makedepend
replacement).
* Primitive support for compiling C# sources with csc, cscc and mcs.
Startup
On startup, rant will look for a file called Rantfile , rantfile or root.rant which contains the build specification (which in fact is valid Ruby code). After reading the Rantfile(s), rant will execute the following tasks:
If at least one target was given on the commandline:
rant will execute all tasks necessary to build all targets given on the commandline.
else:
rant tries to build the target called "default". If no task with this name exists, rant invokes the first defined task.
If you want to know which task(s) will be invoked when no target is given on the commandline, run rant with the -T option. Example:
$ rant -T
rant # => test
rant package # Create packages for distribution.
rant doc # Generate documentation.
rant publish-docs # Publish html docs on make.rubyfore.org.
# Note: scp will prompt for rubyforge password.
rant test # Run basic tests.
The first line always shows the target that will be built if no target argument is given. In this case, it would be the test target.
--help -h Print a help message and exit.
--version -V Print version of Rant and exit.
--verbose -v Print more messages to stderr.
--quiet -q Don't print commands.
--err-commands Print failed commands and their exit status.
--directory DIRECTORY -C DIRECTORY Run rant in DIRECTORY.
--cd-parent -c With this option, Rant starts to search for an Rantfile in the current working directory as usual, but if it doesn't find one, it changes to the parent directory and looks there for an Rantfile. This is repeated until an Rantfile is found or the working directory is the root directory of the filesystem.
--look-up -u Look in parent directories for root Rantfile.
--rantfile RANTFILE -f RANTFILE Process RANTFILE instead of standard rantfiles. Multiple files may be specified by repeating this option.
--force-run TARGET -a TARGET Force rebuild of TARGET and all dependencies.
--dry-run -n Print the names of the tasks that would be executed instead of actually executing task actions.
--tasks -T Show a list of all described tasks and exit.
<http://rant.rubyforge.org/>
rant developed by Stefan Lang <[email protected]>
Copyright (C) 2005 Stefan Lang <[email protected]>