[英]How to pass an option to a Rake task?
我想知道是否有可能從命令行將選項傳遞給任務,而無需Rakefile接受選項。
這是我的任務:
task :task do
args = ARGV.drop(1)
system("ruby test/batch_of_test.rb #{args.join(' ')}")
args.each { |arg| task arg.to_sym do ; end }
end
這是我要起作用的命令:
rake task --name test_first_one
我想要的結果與此相同:
ruby test/batch_of_test.rb --name test_first_one
對於此代碼,出現以下錯誤:
invalid option: --name
--name(或其他選項)如何傳遞給我的任務?
像這樣:
task :task, [args] => :environment do |t, args|
system("ruby test/batch_of_test.rb #{args.join(' ')}")
args.each { |arg| task arg.to_sym do ; end }
end
你這樣稱呼它。
rake task[args]
UPDATE
task :task, [:options] => :environment do |t, args|
arg = args[:options].pop
options = args[:options]
end
據我所知,您不能將標記添加到Rake任務中。 我認為最接近的語法是使用ENV
變量。
rake task NAME=test_first_one
然后在您的任務中:
name = ENV['NAME']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.