我正在使用一个构建系统来定义一些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任务的依赖关系?
答案 0 :(得分:1)
在定义任务之前使用此功能:
Rake::Task[:test].clear
这是在rake gem文件lib / rake / task.rb中实现的 您可以看到它还支持 clear_prerequisites , clear_actions , clear_comments , clear_args ( clear 做了所有四件事。)