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 关注
- 679 浏览
添加回答
举报