The command-line arguments
The most commonly used rake command-line argument is -T
. It shows us a list of available rake tasks that you have already defined.
We have defined the default
rake task, and if we try to show the list of all rake tasks, it should be there. However, take a look at what happens in real life using the following command:
$ rake -T
The list is empty. Why? The answer lies within Rake. Run the rake
command with the -h
option to get the whole list of arguments. Pay attention to the description of the -T
option, as shown in the following command-line output:
-T, --tasks [PATTERN] Display the tasks (matching optional PATTERN) with descriptions, then exit.
Note
You can get more information on Rake in the repository at the following GitHub link at https://github.com/jimweirich/rake.
The word description
is the cornerstone here. It's a new term that we should know. Additionally, there is also an optional description to name a rake task. However, it's recommended that you define it because you won't see the list of all the defined rake tasks that we've already seen. It will be inconvenient for you to read your Rakefile
every time you try to run some rake task. Just accept it as a rule: always leave a description for the defined rake tasks.
Now, add a description to your rake tasks with the desc
method call, as shown in the following lines of code:
desc "Says 'Hello, Rake'" task :default do puts 'Hello, Rake.' end
As you see, it's rather easy. Run the rake -T
command again and you will see an output as shown:
$ rake -T
rake default # Says 'Hello, Rake'
Tip
If you want to list all the tasks even if they don't have descriptions, you can pass an -A
option with the -T
option to the rake
command. The resulting command will look like this: rake -T -A
.