Gibt es eine Möglichkeit, eine Harke Aufgabe auszuführen, ohne die Voraussetzungen zu laufen?

StackOverflow https://stackoverflow.com/questions/3733921

  •  03-10-2019
  •  | 
  •  

Frage

Gibt es einen Kommandozeilenschalter I fehlen bin?

Im Moment Ich habe dies zu tun:

#task :install => :build do
task :install do
end
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top