2012-09-27 1 views
10

Hier ist die aktuelle Art, wie ich laufen rak abhängige AufgabenRake Pass Parameter abhängige Aufgaben

task :test => [:prepare_testdir,:run_tests] 

derzeit keine Parameter für diese beiden Aufgaben abhängig ist. Aber ich muss Parameter zu einer der Aufgaben hinzufügen. Es sollte ausgeführt werden, wie auf der Kommandozeile

rake prepare_testdir[mydir] 

Wie kann ich diesen neuen Parameter

task :test => [:prepare_testdir,:run_tests] 

I

zu diesem Pass
task :test => [:prepare_testdir[mydir],:run_tests] 

und

task :test => [:prepare_testdir['mydir'],:run_tests] 

beide versucht haben, funktionieren nicht.

Vielen Dank im Voraus

Antwort

13

Innerhalb des Rake-Datei

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 

Invocation

rake test[foo] 
+0

Dies ist eigentlich ein wenig anders ist, weil Sie die API der 'test' Aufgabe geändert haben. –