【发布时间】:2017-10-04 09:12:52
【问题描述】:
我正在使用一个构建系统,它定义了许多 rake 目标,包括这个:
task :test => [:all]
这对我来说似乎不正确,因此我定义了自己的 rake 任务,如下所示:
task :test => [:spec]
task :all => [:test, :build]
task :release => [:all]
task :default => [:release]
但是,现在我在尝试构建我的包时遇到了这个错误:
Circular dependency detected: TOP => default => all => test => all
Tasks: TOP => default => all => test
BUILD FAILED
我开始意识到定义 rake 任务(或 rake 任务的依赖项)只是将那些任务/依赖项附加到任务定义中!这真让我抓狂!为什么我不能按照我认为合适的方式重新定义我的 rake 任务?!有没有办法覆盖 rake 任务,和/或覆盖 rake 任务的依赖关系?
【问题讨论】:
-
我从 2008 年发现了这篇文章,但它看起来像是一个 hack!必须有一种更清洁的方法来做到这一点,对吧? blog.jayfields.com/2008/02/rake-task-overwriting.html
标签: ruby rake circular-dependency rake-task rakefile