gpt4 book ai didi

ruby - 如何递归 rake ? -- 或合适的替代品

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:56 25 4
gpt4 key购买 nike

我希望我的项目的顶级 Rakefile 使用树中更深的 rakefile 来构建东西;即顶层 rakefile 说明如何构建项目(大图),而较低层的 rakefile 说明如何构建特定模块(本 map 片)。

当然有一组共享的配置,用于在任务之间共享时执行的详细信息:所以它主要是关于保持对需要构建的内容的描述,尽可能接近正在构建的源。例如。/Source/Module/code.foo 和 cie 应该使用/Source/Module/Rakefile 中的指令构建;并且/Rakefile 了解模块之间的依赖关系。

我不关心它是否使用多个 rake 进程(ala 递归 make),或者只是创建单独的构建环境。无论哪种方式,它都应该是自包含的,足以由队列处理:以便可以同时构建非依赖模块。

问题是,你到底是怎么用 Rake 做这样的事情的!?我无法在 Internet 上或文档中找到任何有意义的内容。我尝试创建一个新的 Rake::Application 对象并进行设置,但无论如何 methods我尝试调用,只抛出异常或“不知道如何构建任务‘:default’”错误。 (是的,所有 rakefile 都有一个 :default)。显然,可以在子目录中为 :modulename 任务执行“rake”,但这会放弃给顶层的选项;例如想想 $(MAKE) 和 $(MAKEFLAGS)。

有人知道如何正确地做类似递归 rake 的事情吗?

最佳答案

您可以从其他 rake 文件要求 rake 文件,并从所需文件运行任务。

把它放在 rakefile.rb 中:

require 'foo/rakefile.rb'

task :default => [:bar]

将其放入 foo/rakefile.rb:

task :bar do
puts "baz"
end

运行根级别的 rakefile,它将在屏幕上打印“baz”。你应该能够组织你的 rake 文件和公共(public)代码,但是你想使用这个想法

关于ruby - 如何递归 rake ? -- 或合适的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com