Ruby ExtensionTask:如何使它依赖于另一个rake任务?

时间:2013-04-24 22:47:37

标签: ruby rake

我正在使用CRuby 2.0内撰写原生Rake::ExtensionTask.new('NAME')扩展程序。我需要依赖于我定义的另一个任务

task :myTask do |t|
....
end

我的问题是,如何进行此设置,以便在运行rake compile时,扩展编译/创建依赖于我定义的任务的完成,即myTask?

我也尝试了以下内容,但现在我在运行rake -T时看不到'compile'选项:

task :myTask

task :extension_compile => [:myTask]
  Rake::ExtensionTask.new("NAME")
end

2 个答案:

答案 0 :(得分:4)

要向现有任务添加依赖项,您应该像以前一样使用哈希表示法:

task :compile => [:myTask]

您运行:compile时未看到rake -T任务,因为rake仅显示具有说明的任务:

desc "This is a compilation task"
task :compile

现在运行rake -T将产生:

rake compile  # This is a compilation task

答案 1 :(得分:1)

您的第二个代码段看起来是正确的,只需添加说明就可以在佣金清单中看到它

desc "Here's your description"
task :extension_compile => [:myTask]
  Rake::ExtensionTask.new("NAME")
end