【发布时间】:2014-10-06 10:15:34
【问题描述】:
在蚂蚁中我会做以下事情
<target name="subclient" >
<ant antfile="suddir/build.xml" target="target1" useNativeBasedir="true"/>
</target>
我如何在 JRuby/Rake 中做这种事情
【问题讨论】:
在蚂蚁中我会做以下事情
<target name="subclient" >
<ant antfile="suddir/build.xml" target="target1" useNativeBasedir="true"/>
</target>
我如何在 JRuby/Rake 中做这种事情
【问题讨论】:
您可以简单地使用 Dir.chdir 并启动一个 rake 子进程:
def rake(*args)
ruby "-S", "rake", *args
end
task :subrake do
Dir.chdir("subproject") do
rake
end
end
【讨论】:
有一个名为 rake-subproject 的 gem 可以帮助您:
有了这个,让我们假设您的子项目在一个目录中:'foo'。您可以简单地将这些行添加到您的 Rakefile:
require 'rake/subproject'
subproject 'foo'
现在,您可以使用 'foo:task' 中的所有任务,您可以通过以下方式引用它们:foo/<task name> 或 foo:<task name>task
披露:我是这颗宝石的作者。
【讨论】: