diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-07 11:24:48 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-07 11:24:48 +0000 |
commit | 4c1952f4bf9d2fe183431747a83596287e9b7631 (patch) | |
tree | 94b238b32f569bae8bd734c691aa6fd1d569718a /lib | |
parent | 8cc53044081fa00384412a0f141c9f1be9065e1a (diff) |
Ignore to handle the different platform
When `GEM_HOME` was shared with CRuby and JRuby. RubyGems try to
handle both platforms. It should be ignored the different platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rubygems/basic_specification.rb | 7 | ||||
-rw-r--r-- | lib/rubygems/commands/pristine_command.rb | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/rubygems/basic_specification.rb b/lib/rubygems/basic_specification.rb index edb38cb1c2..45a6fc08a0 100644 --- a/lib/rubygems/basic_specification.rb +++ b/lib/rubygems/basic_specification.rb @@ -71,8 +71,11 @@ class Gem::BasicSpecification elsif missing_extensions? @ignored = true - warn "Ignoring #{full_name} because its extensions are not built. " + - "Try: gem pristine #{name} --version #{version}" + if platform == RUBY_ENGINE + warn "Ignoring #{full_name} because its extensions are not built. " + + "Try: gem pristine #{name} --version #{version}" + end + return false end diff --git a/lib/rubygems/commands/pristine_command.rb b/lib/rubygems/commands/pristine_command.rb index 1d0eb61700..95e9ed0a15 100644 --- a/lib/rubygems/commands/pristine_command.rb +++ b/lib/rubygems/commands/pristine_command.rb @@ -104,6 +104,8 @@ extensions will be restored. end.flatten end + specs = specs.select{|spec| spec.platform == RUBY_ENGINE } + if specs.to_a.empty? raise Gem::Exception, "Failed to find gems #{options[:args]} #{options[:version]}" |