3 回答

TA貢獻1793條經驗 獲得超6個贊
如果您需要任務以方法的方式運行,那么使用實際方法呢?
task :build => [:some_other_tasks] do
build
end
task :build_all do
[:debug, :release].each { |t| build t }
end
def build(type = :debug)
# ...
end
如果您愿意遵循rake的習慣用法,則可以根據過去的答案進行整理:
這總是執行任務,但不執行其依賴項:
Rake::Task["build"].execute
這將執行依賴關系,但僅在尚未被調用的情況下才執行任務:
Rake::Task["build"].invoke
這首先會重置任務的has_invoked狀態,然后允許再次執行任務,依賴項和所有任務:
Rake::Task["build"].reenable
Rake::Task["build"].invoke
(注意,不會重新執行已經調用的依賴項)

TA貢獻2012條經驗 獲得超12個贊
task :build_all do
[ :debug, :release ].each do |t|
$build_type = t
Rake::Task["build"].reenable
Rake::Task["build"].invoke
end
end
那應該把你整理出來,我自己也需要同樣的東西。

TA貢獻1852條經驗 獲得超7個贊
task :build_all do
[ :debug, :release ].each do |t|
$build_type = t
Rake::Task["build"].execute
end
end
- 3 回答
- 0 關注
- 711 瀏覽
添加回答
舉報