耙 - 运行一系列任务

时间:2013-12-10 10:57:21

标签: ruby rake rakefile

我正在使用Rake来编译一些烦人的LaTeX东西。

事实上,我想在之前清理我的工作目录,在编译之后 所以我定义了两个任务::clean:compile

天真地,我写了这个:

task :default => [:clean, :compile, :clean]

但是,正如我稍后在阅读Rake的文档时发现的那样,这不起作用,因为任务数组包含依赖项,而不是要执行的操作。

那么,有没有一种干净的方法来执行一系列任务而无需用Rake::Task("clean")等手动调用它们? 类似于依赖项数组的东西。

1 个答案:

答案 0 :(得分:0)

只需定义您的依赖项并依靠rake来确定有效的订单。当然,多次执行:clean任务会有一点麻烦,但您可以reenable或使用alias。或者你可以定义

def clean
   ...
end

task :default => [:clean_after_compile]
task :clean_after_compile => [:compile] do clean end
task :compile => [:clean_before_compile]
task :clean_before_compile => [:compile] do clean end

为了保持一点干燥。由于rake处理的是依赖关系而不是序列,因此它可能比你喜欢的工作更多。