Rakefileの中に定義されているRakeタスクを確認しようと、 rake -T
したところ表示されないRakeタスクがあったため、メモを残します。
環境
- rake 13.0.2
原因
ヘルプに書いてありました。
rake -T
では desc
がないRakeタスクは表示されないとのことでした。
% rake --help -T, --tasks [PATTERN] Display the tasks (matching optional PATTERN) with descriptions, then exit. -AT combination displays all of tasks contained no description.
確認
こんな感じでRakefileを作ってみました。
desc "シナノゴールド" task :shinanogold do puts '黄色' end desc "" task :fuji do puts '赤' end desc nil task :orin do puts '緑' end task :pinklady do puts 'ピンク' end
rake -T
の場合、descがあるものだけ表示されました。
% rake -T rake shinanogold # シナノゴールド
一方、 rake -TA
の場合、すべて表示されました。
% rake -AT rake fuji # rake orin # rake pinklady # rake shinanogold # シナノゴールド
なお、 rake -TA
では表示されませんでした。
% rake -TA #=> 何も表示されない
他に、 rake -P
などでも表示されるようです。
ruby on rails - Why is rake db:migrate:reset not listed in rake -T? - Stack Overflow
今回はgrepを渡さなくても、全件表示されました。
% rake -P rake fuji rake orin rake pinklady rake shinanogold
また、D
オプションと組み合わせた時はこんな感じでした。
% rake -D rake shinanogold シナノゴールド % rake -AD rake fuji rake orin rake pinklady rake shinanogold シナノゴールド