diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-25 01:20:00 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-25 01:20:00 +0000 |
commit | a94332819463589fe4537cc62beb41a0ee354cf3 (patch) | |
tree | 6cc30414963f413c171180b91d9a8490fa212f5d /bin | |
parent | 608b9c29133e6d4c0822f1500e45c2a8073891be (diff) |
Use stub executables generated by RubyGems istead of original executables.
It resolved the conflict issues when invoking `gem i rdoc` and the binstub
issues with Bundler and Rails.
[Bug #5060][ruby-core:38257][Fix GH-2023]
* https://github.com/rubygems/rubygems/pull/2338
* https://github.com/heroku/heroku-buildpack-ruby/issues/829
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/bundle | 46 | ||||
-rwxr-xr-x | bin/bundle_ruby | 77 | ||||
-rwxr-xr-x | bin/bundler | 27 | ||||
-rwxr-xr-x | bin/irb | 28 | ||||
-rwxr-xr-x | bin/rdoc | 53 | ||||
-rwxr-xr-x | bin/ri | 31 |
6 files changed, 131 insertions, 131 deletions
diff --git a/bin/bundle b/bin/bundle index aaf773745d..59dad21c60 100755 --- a/bin/bundle +++ b/bin/bundle @@ -1,31 +1,27 @@ #!/usr/bin/env ruby -# frozen_string_literal: true +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# -# Exit cleanly from an early interrupt -Signal.trap("INT") do - Bundler.ui.debug("\n#{caller.join("\n")}") if defined?(Bundler) - exit 1 -end - -require "bundler" -# Check if an older version of bundler is installed -$LOAD_PATH.each do |path| - next unless path =~ %r{/bundler-0\.(\d+)} && $1.to_i < 9 - err = String.new - err << "Looks like you have a version of bundler that's older than 0.9.\n" - err << "Please remove your old versions.\n" - err << "An easy way to do this is by running `gem cleanup bundler`." - abort(err) -end +require 'rubygems' -require "bundler/friendly_errors" -Bundler.with_friendly_errors do - require "bundler/cli" +version = ">= 0.a" - # Allow any command to use --help flag to show help for that command - help_flags = %w[--help -h] - help_flag_used = ARGV.any? {|a| help_flags.include? a } - args = help_flag_used ? Bundler::CLI.reformatted_help_args(ARGV) : ARGV +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift + end +end - Bundler::CLI.start(args, :debug => true) +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('bundler', 'bundle', version) +else +gem "bundler", version +load Gem.bin_path("bundler", "bundle", version) end diff --git a/bin/bundle_ruby b/bin/bundle_ruby index 2209c6195f..be7fb5afe4 100755 --- a/bin/bundle_ruby +++ b/bin/bundle_ruby @@ -1,60 +1,27 @@ #!/usr/bin/env ruby -# frozen_string_literal: true - -require "bundler/shared_helpers" - -Bundler::SharedHelpers.major_deprecation(3, "the bundle_ruby executable has been removed in favor of `bundle platform --ruby`") - -Signal.trap("INT") { exit 1 } - -require "bundler/errors" -require "bundler/ruby_version" -require "bundler/ruby_dsl" - -module Bundler - class Dsl - include RubyDsl - - attr_accessor :ruby_version - - def initialize - @ruby_version = nil - end - - def eval_gemfile(gemfile, contents = nil) - contents ||= File.open(gemfile, "rb", &:read) - instance_eval(contents, gemfile.to_s, 1) - rescue SyntaxError => e - bt = e.message.split("\n")[1..-1] - raise GemfileError, ["Gemfile syntax error:", *bt].join("\n") - rescue ScriptError, RegexpError, NameError, ArgumentError => e - e.backtrace[0] = "#{e.backtrace[0]}: #{e.message} (#{e.class})" - STDERR.puts e.backtrace.join("\n ") - raise GemfileError, "There was an error in your Gemfile," \ - " and Bundler cannot continue." - end - - def source(source, options = {}) - end - - def gem(name, *args) - end - - def group(*args) - end +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +version = ">= 0.a" + +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift end end -dsl = Bundler::Dsl.new -begin - dsl.eval_gemfile(Bundler::SharedHelpers.default_gemfile) - ruby_version = dsl.ruby_version - if ruby_version - puts ruby_version - else - puts "No ruby version specified" - end -rescue Bundler::GemfileError => e - puts e.message - exit(-1) +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('bundler', 'bundle_ruby', version) +else +gem "bundler", version +load Gem.bin_path("bundler", "bundle_ruby", version) end diff --git a/bin/bundler b/bin/bundler index d9131fe834..7ef736899d 100755 --- a/bin/bundler +++ b/bin/bundler @@ -1,4 +1,27 @@ #!/usr/bin/env ruby -# frozen_string_literal: true +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# -load File.expand_path("../bundle", __FILE__) +require 'rubygems' + +version = ">= 0.a" + +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift + end +end + +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('bundler', 'bundler', version) +else +gem "bundler", version +load Gem.bin_path("bundler", "bundler", version) +end @@ -1,11 +1,27 @@ #!/usr/bin/env ruby # -# irb.rb - interactive ruby -# $Release Version: 0.9.6 $ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) +# This file was generated by RubyGems. # +# The application 'irb' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' + +version = ">= 0.a" -require "irb" +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift + end +end -IRB.start(__FILE__) +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('irb', 'irb', version) +else +gem "irb", version +load Gem.bin_path("irb", "irb", version) +end @@ -1,44 +1,27 @@ #!/usr/bin/env ruby # -# RDoc: Documentation tool for source code -# (see lib/rdoc/rdoc.rb for more information) +# This file was generated by RubyGems. +# +# The application 'rdoc' is installed as part of a gem, and +# this file is here to facilitate running it. # -# Copyright (c) 2003 Dave Thomas -# Released under the same terms as Ruby -begin - gem 'rdoc' -rescue NameError => e # --disable-gems - raise unless e.name == :gem -rescue Gem::LoadError -end +require 'rubygems' -require 'rdoc/rdoc' +version = ">= 0.a" -begin - r = RDoc::RDoc.new - r.document ARGV -rescue Errno::ENOSPC - $stderr.puts 'Ran out of space creating documentation' - $stderr.puts - $stderr.puts 'Please free up some space and try again' -rescue SystemExit - raise -rescue Exception => e - if $DEBUG_RDOC then - $stderr.puts e.message - $stderr.puts "#{e.backtrace.join "\n\t"}" - $stderr.puts - elsif Interrupt === e then - $stderr.puts - $stderr.puts 'Interrupted' - else - $stderr.puts "uh-oh! RDoc had a problem:" - $stderr.puts e.message - $stderr.puts - $stderr.puts "run with --debug for full backtrace" +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift end - - exit 1 end +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('rdoc', 'rdoc', version) +else +gem "rdoc", version +load Gem.bin_path("rdoc", "rdoc", version) +end @@ -1,12 +1,27 @@ #!/usr/bin/env ruby +# +# This file was generated by RubyGems. +# +# The application 'rdoc' is installed as part of a gem, and +# this file is here to facilitate running it. +# -begin - gem 'rdoc' -rescue NameError => e # --disable-gems - raise unless e.name == :gem -rescue Gem::LoadError -end +require 'rubygems' + +version = ">= 0.a" -require 'rdoc/ri/driver' +if ARGV.first + str = ARGV.first + str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding + if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then + version = $1 + ARGV.shift + end +end -RDoc::RI::Driver.run ARGV +if Gem.respond_to?(:activate_bin_path) +load Gem.activate_bin_path('rdoc', 'ri', version) +else +gem "rdoc", version +load Gem.bin_path("rdoc", "ri", version) +end |