Try to load original gemspec from .bundle/gems/foo-x.y.z/foo.gemspec.

`.bundle/specification/foo-x.y.z.gemspec` may be changed our toolchain
This commit is contained in:
Hiroshi SHIBATA 2024-02-16 15:39:36 +09:00
parent 8d80dad6bc
commit 0314bc4aad

View file

@ -1046,12 +1046,13 @@ install?(:ext, :comm, :gem, :'bundled-gems') do
next if /^\s*(?:#|$)/ =~ name
next unless /^(\S+)\s+(\S+).*/ =~ name
gem_name = "#$1-#$2"
# Try to find the gemspec file for C ext gems
# ex .bundle/gems/debug-1.7.1/debug-1.7.1.gemspec
# This gemspec keep the original dependencies
path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec"
# Try to find the gemspec file
path = "#{srcdir}/.bundle/gems/#{gem_name}/#{name}.gemspec"
unless File.exist?(path)
path = "#{srcdir}/.bundle/specifications/#{gem_name}.gemspec"
# Try to find the gemspec file for C ext gems
# ex .bundle/gems/debug-1.7.1/debug-1.7.1.gemspec
# This gemspec keep the original dependencies
path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec"
unless File.exist?(path)
skipped[gem_name] = "gemspec not found"
next