簡體   English   中英

如何將選項傳遞給Rake任務?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM