gpt4 book ai didi

ruby - 如何以编程方式提取 rake 任务的描述?

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:43 24 4
gpt4 key购买 nike

我正在尝试以编程方式捕获与 rake -D 等效的内容。我可以加载目标 Rakefile 并查看任务列表,但我不知道如何获取描述。

这会让我看到我感兴趣的任务:

  Dir.chdir @myTarget
rake = Rake::Application.new
Rake.application = rake
rake.init
rake.load_rakefile
tasks = Rake.application.tasks
puts tasks.inspect

上面的输出类似于:

  [<Rake::Task default => [test]>, <Rake::Task foodcritic => []>, <Rake::Task integration => [kitchen:all]>]

我的问题是如何访问在我运行 rake -D 时可见的 desc 注释。这就是我所追求的:

  rake foodcritic
Run Foodcritic lint checks

rake integration
Alias for kitchen:all

rake kitchen:all
Run all test instances

这是最终的解决方案。关键是我缺少任务管理器中的元数据:

  Dir.chdir @myTarget
rake = Rake::Application.new
Rake::TaskManager.record_task_metadata = true
Rake.application = rake
rake.init
rake.load_rakefile
Rake.application.tasks.each do |t, n|
puts t
puts t.full_comment
puts "\n"
end

最佳答案

为此使用方法commentfull_comment。关于 Rake::Task class here 的更多文档.

关于ruby - 如何以编程方式提取 rake 任务的描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812233/

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