rake将参数传递给依赖任务

icn*_*icn 10 ruby rake

这是我运行rak依赖任务的当前方式

task :test => [:prepare_testdir,:run_tests]
Run Code Online (Sandbox Code Playgroud)

目前这两个相关任务没有参数.但我需要为其中一个任务添加参数.它应该像命令行一样运行

rake prepare_testdir[mydir]
Run Code Online (Sandbox Code Playgroud)

如何将此新参数传递给此参数

task :test => [:prepare_testdir,:run_tests]
Run Code Online (Sandbox Code Playgroud)

我试过了

task :test => [:prepare_testdir[mydir],:run_tests]
Run Code Online (Sandbox Code Playgroud)

 task :test => [:prepare_testdir['mydir'],:run_tests]
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.

提前致谢

pea*_*kxu 15

在rake文件里面

task :test, [:dir] => [:prepare_testdir] do |t,args|
  puts args.inspect # {:dir=>"foo"}
end

task :prepare_testdir, :dir do |t, args|
  puts args.inspect # {:dir=>"foo"}
end
Run Code Online (Sandbox Code Playgroud)

调用

rake test[foo]
Run Code Online (Sandbox Code Playgroud)