在 rake 中,“正常”任务(通过task
关键字引入)总是在调用时执行。我想知道是否有一种方法可以仅在执行其先决条件之一的情况下执行该任务。
例如
task :one => "one.txt" do puts "task one" end
file "one.txt" => "two.txt" do cp "two.txt", "one.txt" end
我只想在“one.txt”不是最新的“two.txt”时才显示“任务一”(换句话说,只有在发生文件复制时)。
您可以使一个 rake 任务依赖于另一个 rake 任务,如下所示,这意味着 task_one 和 task_two 在您调用 task_three 时以相同的顺序执行
task :task_one do
puts " task_one"
task :task_two do
puts " task_two"
task :task_three => [ "task_one" "task_two" ] do
puts "this executes only after task_one and task_two gets executed"