diff options
Diffstat (limited to 'libexec/bundle')
| -rwxr-xr-x | libexec/bundle | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/libexec/bundle b/libexec/bundle new file mode 100755 index 0000000000..73a6397e77 --- /dev/null +++ b/libexec/bundle @@ -0,0 +1,49 @@ +#!/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 |
