rant(1) 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

* Primitive support for compiling C# sources with csc, cscc and mcs.


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.


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.


      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.


rant developed by Stefan Lang <[email protected]>


Copyright (C) 2005 Stefan Lang <[email protected]>