mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.4 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")
 | |
| 
 | |
| # 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
 | |
| 
 | |
| 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
 | 
