Ruby ExtensionTask:如何使它依赖于另一个rake任务?
我正在使用Rake::ExtensionTask.new'NAME在Ruby 2.0中编写一个本机C扩展。我需要让它依赖于我定义的另一个任务Ruby ExtensionTask:如何使它依赖于另一个rake任务?,ruby,rake,Ruby,Rake,我正在使用Rake::ExtensionTask.new'NAME在Ruby 2.0中编写一个本机C扩展。我需要让它依赖于我定义的另一个任务 task :myTask do |t| .... end 我的问题是,我如何进行这种设置,以便在运行rake compile时,扩展编译/创建依赖于我定义的任务(即myTask)的完成 我也尝试了以下方法,但现在在运行rake-t时没有看到“compile”选项: 您的第二个代码段看起来是正确的,只需添加描述即可在rake列表中看到它 desc "Her
task :myTask do |t|
....
end
我的问题是,我如何进行这种设置,以便在运行rake compile时,扩展编译/创建依赖于我定义的任务(即myTask)的完成
我也尝试了以下方法,但现在在运行rake-t时没有看到“compile”选项:
您的第二个代码段看起来是正确的,只需添加描述即可在rake列表中看到它
desc "Here's your description"
task :extension_compile => [:myTask]
Rake::ExtensionTask.new("NAME")
end
您的第二个代码段看起来是正确的,只需添加描述即可在rake列表中看到它
desc "Here's your description"
task :extension_compile => [:myTask]
Rake::ExtensionTask.new("NAME")
end
要将依赖项添加到现有任务中,应使用哈希表示法,如下所示:
task :compile => [:myTask]
运行rake-t时,您不会看到:compile任务,因为rake只显示具有以下描述的任务:
desc "This is a compilation task"
task :compile
现在运行rake-T将产生:
rake compile # This is a compilation task
要将依赖项添加到现有任务中,应使用哈希表示法,如下所示:
task :compile => [:myTask]
运行rake-t时,您不会看到:compile任务,因为rake只显示具有以下描述的任务:
desc "This is a compilation task"
task :compile
现在运行rake-T将产生:
rake compile # This is a compilation task
任务:编译的定义是什么?扩展是如何与:compile关联的?任务:compile的定义是什么?扩展名与:compile有什么关系?谢谢你的评论。我已经有了描述。我无法强制执行:compile和:myTask之间的依赖关系。谢谢您的评论。我已经有了描述。我无法强制执行:compile和:myTask之间的依赖关系。谢谢!这确实奏效了。然而,我遇到了另一个问题。运行rake compile现在运行“rake compile:myNativeExtension”,它没有我们强制的依赖项:compile。最后,我将以下内容添加到我的原始代码->Rake::Task[:compile].invoke中。现在,当我执行rake-T时,只显示“extension_compile”,而不显示compile。我可以接受,尽管我想找到一个完整的解决方案。再次感谢,谢谢!这确实奏效了。然而,我遇到了另一个问题。运行rake compile现在运行“rake compile:myNativeExtension”,它没有我们强制的依赖项:compile。最后,我将以下内容添加到我的原始代码->Rake::Task[:compile].invoke中。现在,当我执行rake-T时,只显示“extension_compile”,而不显示compile。我可以接受,尽管我想找到一个完整的解决方案。再次感谢。