在rake中如何调用子目录Rakefile

时间:2010-12-20 12:09:28

标签: ant rake jruby

在蚂蚁中我会做以下

 <target name="subclient" >
     <ant antfile="suddir/build.xml" target="target1" useNativeBasedir="true"/>
 </target>

我如何在JRuby / Rake中做这类事情

2 个答案:

答案 0 :(得分:1)

您只需使用Dir.chdir并启动rake子流程:

def rake(*args)
  ruby "-S", "rake", *args
end

task :subrake do
  Dir.chdir("subproject") do
    rake
  end
end

答案 1 :(得分:0)

有一个名为rake-subproject的宝石可以帮助你解决这个问题:

有了这个,让我们假装你的子项目在一个目录:'foo'。您只需将这些行添加到Rakefile:

require 'rake/subproject'

subproject 'foo'

现在,您可以使用'foo:task'中的所有任务,您可以通过以下方式引用它们:foo/<task name>foo:<task name>task

披露:我是这个宝石的作者。