gpt4 book ai didi

ruby - 如何使用 FileLists 作为 rake 依赖项

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

我正在使用 rake 来帮助为我正在编写的 Chrome 扩展程序编译 Coffeescript。

我的 Rakefile 看起来像这样:

COFFEE = FileList['src/*.coffee']
JS = COFFEE.ext 'js'

directory 'extension'

rule '.js' => ['.coffee', 'extension'] do |t|
`coffee -c -o extension #{t.source}`
end

desc "Build the extension in the 'extension' directory"
task :build => ['extension', JS] do
cp File.join('src', 'manifest.json'), 'extension'
end

当我的src 目录中只有一个.coffee 文件时,没有问题。但是,一旦我有多个 .coffee 文件,它就会出错:

$ rake build
> rake aborted!
> Don't know how to build task 'src/app.js src/background.js'
>
> Tasks: TOP => build
> (See full trace by running task with --trace)

是否可以将 FileList 指定为依赖项?我还能如何告诉 rake 我希望在构建任务期间编译所有 Coffeescript 文件?

最佳答案

Rake 的依赖列表是一个任务名称数组。当您使用 FileList 作为其元素之一时,您嵌套了数组——实际上,这是:

task :build => ['extension', ['src/app.js', 'src/background.js']] do

Rake 只使用所有传递的依赖数组元素的字符串表示,这就是为什么它提示无法构建 'src/app.js src/background.js' 任务(注意如何这是一根绳子)。

展开您的 FileList(或展平依赖数组)将解决问题,即:

task :build => ['extension', *JS] do

task :build => ['extension', JS].flatten do

关于ruby - 如何使用 FileLists 作为 rake 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14529180/

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