Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
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 stardard output.
If output is stderr
, or if it is missing, then the
backtrace output is sent to standard error.
--classic-namespace
(-n)
Import the Task, FileTask, and FileCreateTask into the top-level scope to
be compatible with older versions of Rake. Alternatively you can include
the line require 'rake/classic_namespace'
in your
Rakefile to get the classic behavior.
--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 number of active concurrent tasks used. The suggested value
is equal to the number of CPUs. The concurrent tasks are used to execute
the multitask
prerequisites. Also see the -m
option which turns all tasks into multitasks.
Sample values:
(no -j) : unlimited concurrent tasks (standard rake behavior) -j : 2 concurrent tasks (exact number may change) -j 16 : 16 concurrent tasks
--job-stats
level
Display job statistics at the completion of the run. By default, this will display the requested number of active tasks (from the -j options) and the maximum number of tasks 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')
--reduce-compat
Remove the DSL commands from the Object inheritance hierarchy and do not define top level constants. This reduces the backwards compatibility of Rake, but allows rake to be used with software that would otherwise have conflicting definitions.
NOTE: The next major version of Rake will only be able to be run in “reduce-compat” mode.
--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 stardard 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
(-W)
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.