【发布时间】:2010-02-26 16:41:38
【问题描述】:
我有一些 Rake 任务想在我的 Rakefiles 中使用。是否可以从另一个 rakefile 包含一个 rakefile 中定义的任务?
【问题讨论】:
我有一些 Rake 任务想在我的 Rakefiles 中使用。是否可以从另一个 rakefile 包含一个 rakefile 中定义的任务?
【问题讨论】:
Rake 文件与 ruby 文件没有什么不同。 因此,只需在文件 B 中加载包含其他任务的文件 A,它们将在执行 B 时可用。
例如,如果您将以下代码放入您的 Rakefile 中
Dir['tasks/*.rake'].each { |file| load(file) }
然后您可以在tasks 子文件夹中创建尽可能多的.rake 文件并从主Rakefile 调用它们。
【讨论】:
gem.rake 中的所有 gem 相关任务,test.rake 中的所有测试相关任务,doc.rake 中的所有文档相关任务)和 b)在不同的项目(调用RDoc、RSpec、RubyGems其实是一样的,与具体项目无关)。
我刚刚做了以下类似的事情:
task :master do
`rake slave`
end
task :slave do
puts "Hello World"
end
可能有点简陋,但它可以完成工作。
【讨论】:
Rake::Task[:'slave'].invoke 用于主任务。