2018-11-25 04:20:00 +03:00
|
|
|
#!/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
|
|
|
|
|
2019-08-02 15:08:28 +03:00
|
|
|
base_path = File.expand_path("../lib", __dir__)
|
|
|
|
|
|
|
|
if File.exist?(base_path)
|
|
|
|
require_relative "../lib/bundler"
|
|
|
|
else
|
|
|
|
require "bundler"
|
|
|
|
end
|
|
|
|
|
2020-05-21 15:05:07 +03:00
|
|
|
# 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")
|
|
|
|
|
2018-11-25 04:20:00 +03:00
|
|
|
# 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
|
|
|
|
|
2019-08-02 15:08:28 +03:00
|
|
|
if File.exist?(base_path)
|
|
|
|
require_relative "../lib/bundler/friendly_errors"
|
|
|
|
else
|
|
|
|
require "bundler/friendly_errors"
|
|
|
|
end
|
|
|
|
|
2018-11-25 04:20:00 +03:00
|
|
|
Bundler.with_friendly_errors do
|
2019-08-02 15:08:28 +03:00
|
|
|
if File.exist?(base_path)
|
|
|
|
require_relative "../lib/bundler/cli"
|
|
|
|
else
|
|
|
|
require "bundler/cli"
|
|
|
|
end
|
2018-11-25 04:20:00 +03:00
|
|
|
|
|
|
|
# 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
|