File: command_line_usage.rdoc [rake: Ruby Standard Library Documentation]

### Files

- CONTRIBUTING.rdoc
- History.rdoc
- README.rdoc
- command_line_usage.rdoc
- glossary.rdoc
- proto_rake.rdoc
- rakefile.rdoc
- rational.rdoc

### Class Index

Quicksearch

- FileUtils
- Module
- Object
- RDoc
- RDoc::Page
- Rake::Application
- Rake::DSL
- Rake::DefaultLoader
- Rake::EarlyTime
- Rake::FileCreationTask
- Rake::FileList
- Rake::FileTask
- Rake::FileUtilsExt
- Rake::InvocationChain
- Rake::InvocationChain::EmptyInvocationChain
- Rake::InvocationExceptionMixin
- Rake::LateTime
- Rake::LinkedList
- Rake::LinkedList::EmptyLinkedList
- Rake::MakefileLoader
- Rake::MultiTask
- Rake::NameSpace
- Rake::PackageTask
- Rake::PrivateReader
- Rake::RakeFileUtils
- Rake::RuleRecursionOverflowError
- Rake::Scope
- Rake::Task
- Rake::TaskArgumentError
- Rake::TaskArguments
- Rake::TaskLib
- Rake::TaskManager
- Rake::TestTask
- Rake::Win32
- String

No matching classes.

# Rake Command Line Usage¶ ↑

Rake is invoked from the command line using:

    % rake [options ...]  [VAR=VALUE ...]  [targets ...]

Options are:

`name=value`

  Set the environment variable name to value during the execution of the rake command. You can access the value by using ENV.

`--all` (-A)

  Used in combination with the -T and -D options, will force those options to show all the tasks, even the ones without comments.

`--backtrace`{=output} (-n)

  Enable a full backtrace (i.e. like –trace, but without the task tracing details). The output parameter is optional, but if specified it controls where the backtrace output is sent. If output is `stdout`, then backtrace output is directed to standard output. If output is `stderr`, or if it is missing, then the backtrace output is sent to standard error.

`--comments`

  Used in combination with the -W options to force the output to contain commented options only. This is the reverse of `--all`.

`--describe` pattern (-D)

  Describe the tasks (matching optional PATTERN), then exit.

`--dry-run` (-n)

  Do a dry run. Print the tasks invoked and executed, but do not actually execute any of the actions.

`--execute` code (-e)

  Execute some Ruby code and exit.

`--execute-print` code (-p)

  Execute some Ruby code, print the result, and exit.

`--execute-continue` code (-E)

  Execute some Ruby code, then continue with normal task processing.

`--help` (-H)

  Display some help text and exit.

`--jobs` number (-j)

  Specifies the maximum number of concurrent threads allowed. Rake will allocate threads as needed up to this maximum number.

  If omitted, Rake will attempt to estimate the number of CPUs on the system and add 4 to that number.

  The concurrent threads are used to execute the `multitask` prerequisites. Also see the `-m` option which turns all tasks into multitasks.

  Sample values:

      (no -j)   : Allow up to (# of CPUs + 4) number of threads
      --jobs    : Allow unlimited number of threads
      --jobs=1  : Allow only one thread (the main thread)
      --jobs=16 : Allow up to 16 concurrent threads

`--job-stats` level

  Display job statistics at the completion of the run. By default, this will display the requested number of active threads (from the -j options) and the maximum number of threads in play at any given time.

  If the optional level is `history`, then a complete trace of task history will be displayed on standard output.

`--libdir` directory (-I)

  Add directory to the list of directories searched for require.

`--multitask` (-m)

  Treat all tasks as multitasks. ('make/drake' semantics)

`--nosearch` (-N)

  Do not search for a Rakefile in parent directories.

`--prereqs` (-P)

  Display a list of all tasks and their immediate prerequisites.

`--quiet` (-q)

  Do not echo commands from `FileUtils`.

`--rakefile` filename (-f)

  Use filename as the name of the rakefile. The default rakefile names are `rakefile` and `Rakefile` (with `rakefile` taking precedence). If the rakefile is not found in the current directory, `rake` will search parent directories for a match. The directory where the Rakefile is found will become the current directory for the actions executed in the Rakefile.

`--rakelibdir` rakelibdir (-R)

  Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')

`--require` name (-r)

  Require name before executing the Rakefile.

`--rules`

  Trace the rules resolution.

`--silent (-s)`

  Like –quiet, but also suppresses the 'in directory' announcement.

`--suppress-backtrace pattern`

  Line matching the regular expression pattern will be removed from the backtrace output. Note that the –backtrace option is the full backtrace without these lines suppressed.

`--system` (-g)

  Use the system wide (global) rakefiles. The project Rakefile is ignored. By default, the system wide rakefiles are used only if no project Rakefile is found. On Unix-like system, the system wide rake files are located in $HOME/.rake. On a windows system they are stored in $APPDATA/Rake.

`--no-system` (-G)

  Use the project level Rakefile, ignoring the system-wide (global) rakefiles.

`--tasks` pattern (-T)

  Display a list of the major tasks and their comments. Comments are defined using the “desc” command. If a pattern is given, then only tasks matching the pattern are displayed.

`--trace`{=output} (-t)

  Turn on invoke/execute tracing. Also enable full backtrace on errors. The output parameter is optional, but if specified it controls where the trace output is sent. If output is `stdout`, then trace output is directed to standard output. If output is `stderr`, or if it is missing, then trace output is sent to standard error.

`--verbose` (-v)

  Echo the Sys commands to standard output.

`--version` (-V)

  Display the program version and exit.

`--where` pattern (-W)

  Display tasks that match pattern and the file and line number where the task is defined. By default this option will display all tasks, not just the tasks that have descriptions.

`--no-deprecation-warnings` (-X)

  Do not display the deprecation warnings.

In addition, any command line option of the form VAR=VALUE will be added to the environment hash `ENV` and may be tested in the Rakefile.