#!/usr/lib/ruby/bin/ruby
#
# 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"

str = ARGV.first
if str
  str = str.b[/\A_(.*)_\z/, 1]
  if str and Gem::Version.correct?(str)
    version = str
    ENV['BUNDLER_VERSION'] = str

    ARGV.shift
  end
end

path =
  if Gem.respond_to?(:activate_bin_path)
    Gem.activate_bin_path('bundler', 'bundle', version)
  else
    gem "bundler", version
    Gem.bin_path("bundler", "bundle", version)
  end

if __FILE__ == path
#!/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

else
  load(path)
end
