关于gemspecs的文件列表。
我注意到珠宝商会用项目中的文件列表手动更新这个列表。例如:
Gem::Specification.new do |s|
# stuff
s.files = [
"lib/somegem.rb",
"README.md"
]
# ... more stuff
end在项目(尤其是rails项目)中使用gem时,是否有证据表明使用git ls-files或Dir.glob('**/*')动态生成gemspec的文件列表会导致性能问题?例如?
Gem::Specification.new do |s|
# stuff
s.files = `git ls-files`.split("\n")
# ... more stuff
end发布于 2014-06-28 01:40:49
动态生成文件列表是非常好的。事实上,Gemspec Specification docs展示了几种方法来实现这一点。
来自Rubygems文档:
require 'rake'
spec.files = FileList['lib .rb',
'bin/*',
'[A-Z]*',
'test/ *'].to_a
# or without Rake...
spec.files = Dir['lib/ *.rb'] + Dir['bin/*']
spec.files += Dir['[A-Z]*'] + Dir['test/**/*']
spec.files.reject! { |fn| fn.include? "CVS" }我会坚持使用上面的方法,而不是使用git ls-files,因为我不会假设每个使用gem的系统都会安装git。
https://stackoverflow.com/questions/16203163
复制相似问题