【问题标题】:Rake - running a sequence of tasksRake - 运行一系列任务
【发布时间】:2013-12-10 10:57:20
【问题描述】:

我正在使用 Rake 编译一些烦人的 LaTeX 内容。

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

不知何故天真地,我写了这个:

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

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

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

【问题讨论】:

    标签: ruby rake rakefile


    【解决方案1】:

    只需定义您的依赖项并依靠 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 处理依赖项而不是序列,因此它可能会比您喜欢的工作量多一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 2012-11-15
      • 2014-12-05
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多