Ruby 是否可以在Rakefile中使用另一个任务?
我有一些耙子任务,我想用在我的耙子里。是否可以将一个rakefile中定义的任务与另一个rakefile中定义的任务包含在一起?Rake文件与ruby文件没有什么不同。 因此,只需加载文件A,其中包含文件B中的其他任务,它们将在执行文件B时可用 例如,如果在Rakefile中放入以下代码Ruby 是否可以在Rakefile中使用另一个任务?,ruby,rake,rakefile,Ruby,Rake,Rakefile,我有一些耙子任务,我想用在我的耙子里。是否可以将一个rakefile中定义的任务与另一个rakefile中定义的任务包含在一起?Rake文件与ruby文件没有什么不同。 因此,只需加载文件A,其中包含文件B中的其他任务,它们将在执行文件B时可用 例如,如果在Rakefile中放入以下代码 Dir['tasks/*.rake'].each { |file| load(file) } 然后,您可以在任务子文件夹中创建尽可能多的.rake文件,并从主Rakefile调用它们。我刚刚做了一些类似的操作
Dir['tasks/*.rake'].each { |file| load(file) }
然后,您可以在
任务
子文件夹中创建尽可能多的.rake
文件,并从主Rakefile
调用它们。我刚刚做了一些类似的操作,如下所示:
task :master do
`rake slave`
end
task :slave do
puts "Hello World"
end
也许有点简陋,但它确实起到了作用。是的。我总是这样做,以a)每个文件保留一个域(所有与gem相关的任务在
gem.rake
中,所有与测试相关的任务在test.rake
中,所有与文档相关的任务在doc.rake
中)和b)在不同的项目之间共享公共任务(调用RDoc、RSpec、RubyGems实际上是相同的,与特定的项目无关).我认为这一策略虽然可能奏效,但并不理想。请改为尝试:Rake::Task[:'slave']。为主任务调用
。