Gibt es eine Möglichkeit, eine Harke Aufgabe auszuführen, ohne die Voraussetzungen zu laufen?
Frage
Gibt es einen Kommandozeilenschalter I fehlen bin?
Im Moment Ich habe dies zu tun:
#task :install => :build do
task :install do
end
Lösung
scheine ich durch einfaches Hinzufügen von zusätzlichen Aufgaben im Format „taskname_no_prerequisites“ dieses Problem gelöst zu haben. So zum Beispiel in dem folgenden Code ausführen „Rake install_no_prerequisites“ nicht Ursache „Build“ ausgeführt werden.
desc "Build"
task :build do
puts "BUILDING..."
end
desc "Install"
task :install => :build do
puts "INSTALLING..."
end
Rake::Task::tasks.each do |task|
desc "#{task} without prerequisites"
task "#{task}_no_prerequisites".to_sym do
task.invoke_without_prerequisites
end
end
module Rake
class Task
def invoke_without_prerequisites
execute
end
end
end
Andere Tipps
Wenn Sie eine Abhängigkeit von einer Aufgabe definieren, wird es immer zuerst ausgeführt werden. Allerdings können Sie Ihre Aufgaben individuell erstellen und dann fassen sie zusammen mit einer anderen Aufgabe, wie folgt aus:
task :build do
...
end
task :install do
...
end
task :go => [:build, :install]
und dann können Sie die Build aufrufen oder Aufgaben selbständig installieren, oder die Sequenz mit dem Sprung Task ausgeführt.
rake build
rake install
rake go
ich tun dies viel, eigentlich. es macht es sehr bequem für mich einzelne Schritte zu laufen, wenn ich will, und haben die größere Abfolge von Schritten, wenn ich sie brauche.