mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
49 lines
1.6 KiB
Ruby
Executable file
49 lines
1.6 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
# Exit cleanly from an early interrupt
|
|
Signal.trap("INT") do
|
|
Bundler.ui.debug("\n#{caller.join("\n")}") if defined?(Bundler)
|
|
exit 1
|
|
end
|
|
|
|
base_path = File.expand_path("../lib", __dir__)
|
|
|
|
if File.exist?(base_path)
|
|
require_relative "../lib/bundler"
|
|
else
|
|
require "bundler"
|
|
end
|
|
|
|
# Workaround for non-activated bundler spec due to missing https://github.com/rubygems/rubygems/commit/4e306d7bcdee924b8d80ca9db6125aa59ee4e5a3
|
|
gem "bundler", Bundler::VERSION if Gem.rubygems_version < Gem::Version.new("2.6.2")
|
|
|
|
if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.6.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
|
|
Bundler.ui.warn \
|
|
"Your RubyGems version (#{Gem::VERSION}) has a bug that prevents " \
|
|
"`required_ruby_version` from working for Bundler. Any scripts that use " \
|
|
"`gem install bundler` will break as soon as Bundler drops support for " \
|
|
"your Ruby version. Please upgrade RubyGems to avoid future breakage " \
|
|
"and silence this warning by running `gem update --system 3.2.3`"
|
|
end
|
|
|
|
if File.exist?(base_path)
|
|
require_relative "../lib/bundler/friendly_errors"
|
|
else
|
|
require "bundler/friendly_errors"
|
|
end
|
|
|
|
Bundler.with_friendly_errors do
|
|
if File.exist?(base_path)
|
|
require_relative "../lib/bundler/cli"
|
|
else
|
|
require "bundler/cli"
|
|
end
|
|
|
|
# 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
|
|
|
|
Bundler::CLI.start(args, :debug => true)
|
|
end
|