2010-02-26 28 views

回答

9

Rake文件和ruby文件没有什么不同。 因此,只需在文件B中加载包含其他任务的文件A,并且在执行B时它们将可用。

举例来说,如果你把下面的代码在你的Rakefile

Dir['tasks/*.rake'].each { |file| load(file) } 

,那么你可以在tasks子文件夹中创建许多.rake文件,并从主Rakefile给他们打电话。

+0

是。我总是这样做,a)为每个文件保留一个域('gem.rake'中所有与gem相关的任务,'test.rake'中所有与测试相关的任务,'doc.rake'中所有与文档相关的任务)和b )在不同的项目之间共享共同的任务(调用RDoc,RSpec,RubyGems真的是一样的,独立于特定的项目)。 – 2010-02-26 16:57:19

2

我刚刚完成与以下类似的东西:

task :master do 
    `rake slave` 
end 

task :slave do 
    puts "Hello World" 
end 

也许有点简陋,但它的工作。

+2

我相信这个策略虽然可能有效,但并不理想。相反,试试:'Rake :: Task [:'slave']。invoke'为主任务。 – 2014-12-14 21:48:14

相关问题