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