#!/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 if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("3.0.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