summaryrefslogtreecommitdiff
path: root/tool/fetch-bundled_gems.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-03-08 15:45:58 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-03-08 17:48:43 +0900
commitc25738762ab56bfd2edb4fedb5fc6bed88c03d61 (patch)
treeca5c162ebbaa271000d41bee38f32456e6fc48f8 /tool/fetch-bundled_gems.rb
parent9ad19069f9d10dcab33bcee8502d587020bad2a4 (diff)
downloadruby-c25738762ab56bfd2edb4fedb5fc6bed88c03d61.tar.gz
Check bundled_gems version and gemspec version strictly
Diffstat (limited to 'tool/fetch-bundled_gems.rb')
-rwxr-xr-xtool/fetch-bundled_gems.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/tool/fetch-bundled_gems.rb b/tool/fetch-bundled_gems.rb
index cb59b326ba..cd386c3fff 100755
--- a/tool/fetch-bundled_gems.rb
+++ b/tool/fetch-bundled_gems.rb
@@ -23,6 +23,15 @@ end
if r
puts "fetching #{r} ..."
system("git", "fetch", "origin", r, chdir: n) or abort
+
+ unless File.exist? "#{n}/#{n}.gemspec"
+ require_relative "lib/bundled_gem"
+ BundledGem.dummy_gemspec("#{n}/#{n}.gemspec")
+ end
+
+ # Check bundled_gems version and gemspec version same as BundledGem.build
+ spec = Gem::Specification.load("#{n}/#{n}.gemspec")
+ abort "Unexpected version #{spec.version}" unless spec.version == Gem::Version.new(v)
end
c = r || "v#{v}"
checkout = %w"git -c advice.detachedHead=false checkout"