Make gemspec files for default gems with extensions
So that rubygems can find them as gems. However, the `--install-dir` option of `gem install` seems to exclude prerelease gems, even already installed in that directory, from the dependencies for some reasons; use the `GEM_HOME` environment variable instead. Now net-imap 0.5.0 depends on json gem.
This commit is contained in:
parent
80fd846353
commit
0fda818bd7
Notes:
git
2024-10-31 17:33:36 +00:00
38
common.mk
38
common.mk
@ -1573,6 +1573,35 @@ test-bundled-gems-precheck: $(TEST_RUNNABLE)-test-bundled-gems-precheck
|
|||||||
yes-test-bundled-gems-precheck: main
|
yes-test-bundled-gems-precheck: main
|
||||||
no-test-bundled-gems-precheck:
|
no-test-bundled-gems-precheck:
|
||||||
|
|
||||||
|
update-default-gemspecs: main
|
||||||
|
$(ACTIONS_GROUP)
|
||||||
|
@$(MAKEDIRS) $(srcdir)/.bundle/specifications
|
||||||
|
@$(XRUBY) -W0 -C "$(srcdir)" -rrubygems \
|
||||||
|
-e "destdir = ARGV.shift" \
|
||||||
|
-e "ARGV.each do |basedir|" \
|
||||||
|
-e "Dir.glob(basedir+'/**/*.gemspec') do |g|" \
|
||||||
|
-e "dir, base = File.split(g)" \
|
||||||
|
-e "spec = Dir.chdir(dir) {Gem::Specification.load(base)} ||" \
|
||||||
|
-e "Gem::Specification.load(g)" \
|
||||||
|
-e "unless spec" \
|
||||||
|
-e "puts %[Ignoring #{g}]" \
|
||||||
|
-e "next" \
|
||||||
|
-e "end" \
|
||||||
|
-e "spec.files.clear" \
|
||||||
|
-e "spec.extensions.clear" \
|
||||||
|
-e "File.binwrite(File.join(destdir, spec.full_name+'.gemspec'), spec.to_ruby)" \
|
||||||
|
-e "end" \
|
||||||
|
-e "end" \
|
||||||
|
-- .bundle/specifications lib ext
|
||||||
|
$(ACTIONS_ENDGROUP)
|
||||||
|
|
||||||
|
install-for-test-bundled-gems: update-default-gemspecs
|
||||||
|
$(ACTIONS_GROUP)
|
||||||
|
$(XRUBY) -C "$(srcdir)" -r./tool/lib/gem_env.rb bin/gem \
|
||||||
|
install --no-document --conservative \
|
||||||
|
"hoe" "json-schema" "test-unit-rr" "simplecov" "simplecov-html" "simplecov-json"
|
||||||
|
$(ACTIONS_ENDGROUP)
|
||||||
|
|
||||||
test-bundled-gems-fetch: yes-test-bundled-gems-fetch
|
test-bundled-gems-fetch: yes-test-bundled-gems-fetch
|
||||||
yes-test-bundled-gems-fetch:
|
yes-test-bundled-gems-fetch:
|
||||||
$(ACTIONS_GROUP)
|
$(ACTIONS_GROUP)
|
||||||
@ -1582,12 +1611,9 @@ no-test-bundled-gems-fetch:
|
|||||||
|
|
||||||
test-bundled-gems-prepare: $(PRECHECK_BUNDLED_GEMS) test-bundled-gems-fetch
|
test-bundled-gems-prepare: $(PRECHECK_BUNDLED_GEMS) test-bundled-gems-fetch
|
||||||
test-bundled-gems-prepare: $(TEST_RUNNABLE)-test-bundled-gems-prepare
|
test-bundled-gems-prepare: $(TEST_RUNNABLE)-test-bundled-gems-prepare
|
||||||
no-test-bundled-gems-prepare: no-test-bundled-gems-precheck
|
no-test-bundled-gems-prepare: no-test-bundled-gems-precheck no-test-bundled-gems-fetch
|
||||||
yes-test-bundled-gems-prepare: yes-test-bundled-gems-precheck
|
yes-test-bundled-gems-prepare: yes-test-bundled-gems-precheck yes-test-bundled-gems-fetch
|
||||||
$(ACTIONS_GROUP)
|
yes-test-bundled-gems-prepare: install-for-test-bundled-gems
|
||||||
$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \
|
|
||||||
--install-dir .bundle --conservative "hoe" "json-schema" "test-unit-rr" "simplecov"
|
|
||||||
$(ACTIONS_ENDGROUP)
|
|
||||||
|
|
||||||
PREPARE_BUNDLED_GEMS = test-bundled-gems-prepare
|
PREPARE_BUNDLED_GEMS = test-bundled-gems-prepare
|
||||||
test-bundled-gems: $(TEST_RUNNABLE)-test-bundled-gems $(DOT_WAIT) $(TEST_RUNNABLE)-test-bundled-gems-spec
|
test-bundled-gems: $(TEST_RUNNABLE)-test-bundled-gems $(DOT_WAIT) $(TEST_RUNNABLE)-test-bundled-gems-spec
|
||||||
|
2
tool/lib/gem_env.rb
Normal file
2
tool/lib/gem_env.rb
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ENV['GEM_HOME'] = gem_home = File.expand_path('.bundle')
|
||||||
|
ENV['GEM_PATH'] = [gem_home, File.expand_path('../../../.bundle', __FILE__)].uniq.join(File::PATH_SEPARATOR)
|
@ -2,6 +2,7 @@ require 'rbconfig'
|
|||||||
require 'timeout'
|
require 'timeout'
|
||||||
require 'fileutils'
|
require 'fileutils'
|
||||||
require_relative 'lib/colorize'
|
require_relative 'lib/colorize'
|
||||||
|
require_relative 'lib/gem_env'
|
||||||
|
|
||||||
ENV.delete("GNUMAKEFLAGS")
|
ENV.delete("GNUMAKEFLAGS")
|
||||||
|
|
||||||
@ -10,8 +11,6 @@ github_actions = ENV["GITHUB_ACTIONS"] == "true"
|
|||||||
allowed_failures = ENV['TEST_BUNDLED_GEMS_ALLOW_FAILURES'] || ''
|
allowed_failures = ENV['TEST_BUNDLED_GEMS_ALLOW_FAILURES'] || ''
|
||||||
allowed_failures = allowed_failures.split(',').reject(&:empty?)
|
allowed_failures = allowed_failures.split(',').reject(&:empty?)
|
||||||
|
|
||||||
ENV["GEM_PATH"] = [File.realpath('.bundle'), File.realpath('../.bundle', __dir__)].join(File::PATH_SEPARATOR)
|
|
||||||
|
|
||||||
colorize = Colorize.new
|
colorize = Colorize.new
|
||||||
rake = File.realpath("../../.bundle/bin/rake", __FILE__)
|
rake = File.realpath("../../.bundle/bin/rake", __FILE__)
|
||||||
gem_dir = File.realpath('../../gems', __FILE__)
|
gem_dir = File.realpath('../../gems', __FILE__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user