summaryrefslogtreecommitdiff
path: root/tool/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-02-21 18:17:02 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-02-22 02:07:59 +0900
commit241c4cfdd47c3f5df0738bb636d3f3954101de49 (patch)
tree05bdedfb20840e8d8be3c45965f467868610a5fe /tool/lib
parent0a9efe8701c43f80ad8b23d89d6b34d13d9d9ade (diff)
downloadruby-241c4cfdd47c3f5df0738bb636d3f3954101de49.tar.gz
Move dummy gemspec file creation for extract-gems-sequential
Diffstat (limited to 'tool/lib')
-rw-r--r--tool/lib/bundled_gem.rb43
1 files changed, 18 insertions, 25 deletions
diff --git a/tool/lib/bundled_gem.rb b/tool/lib/bundled_gem.rb
index 6b6940b45d..a08124b679 100644
--- a/tool/lib/bundled_gem.rb
+++ b/tool/lib/bundled_gem.rb
@@ -18,31 +18,6 @@ module BundledGem
outdir = File.expand_path(outdir)
gemdir, gemfile = File.split(gemspec)
Dir.chdir(gemdir) do
- if gemspec == "gems/src/minitest/minitest.gemspec" && !File.exist?("minitest.gemspec")
- # The repository of minitest does not include minitest.gemspec because it uses hoe.
- # This creates a dummy gemspec.
- File.write("minitest.gemspec", <<END)
-Gem::Specification.new do |s|
- s.name = "minitest"
- s.version = #{ File.read("lib/minitest.rb")[/VERSION = "(.+?)"/, 1].dump }
-
- s.require_paths = ["lib"]
- s.authors = ["Ryan Davis"]
- s.date = "#{ Time.now.strftime("%Y-%m-%d") }"
- s.description = "(dummy gemspec)"
- s.email = ["ryand-ruby@zenspider.com"]
- s.extra_rdoc_files = ["History.rdoc", "Manifest.txt", "README.rdoc"]
- s.files = [#{ Dir.glob("**/*").reject {|s| File.directory?(s) }.map {|s| s.dump }.join(",") }]
- s.homepage = "https://github.com/seattlerb/minitest"
- s.licenses = ["MIT"]
- s.rdoc_options = ["--main", "README.rdoc"]
- s.summary = "(dummy gemspec)"
-
- s.add_development_dependency(%q<rdoc>, [">= 4.0", "< 7"])
- s.add_development_dependency(%q<hoe>, ["~> 4.0"])
-end
-END
- end
spec = Gem::Specification.load(gemfile)
abort "Failed to load #{gemspec}" unless spec
abort "Unexpected version #{spec.version}" unless spec.version == Gem::Version.new(version)
@@ -90,4 +65,22 @@ END
end
FileUtils.rm_rf(Dir.glob("#{gem_dir}/.git*"))
end
+
+ def dummy_gemspec(gemspec)
+ return if File.exist?(gemspec)
+ gemdir, gemfile = File.split(gemspec)
+ Dir.chdir(gemdir) do
+ spec = Gem::Specification.new do |s|
+ s.name = gemfile.chomp(".gemspec")
+ s.version = File.read("lib/#{s.name}.rb")[/VERSION = "(.+?)"/, 1]
+ s.authors = ["DUMMY"]
+ s.email = ["dummy@ruby-lang.org"]
+ s.files = Dir.glob("{lib,ext}/**/*").select {|f| File.file?(f)}
+ s.licenses = ["Ruby"]
+ s.description = "DO NOT USE; dummy gemspec only for test"
+ s.summary = "(dummy gemspec)"
+ end
+ File.write(gemfile, spec.to_ruby)
+ end
+ end
end