summaryrefslogtreecommitdiff
path: root/lib/bundler/setup.rb
blob: 4e213beed30e296f6970b28f4132b642d63e9b1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# frozen_string_literal: true
require "bundler/postit_trampoline"
require "bundler/shared_helpers"

if Bundler::SharedHelpers.in_bundle?
  require "bundler"

  if STDOUT.tty? || ENV["BUNDLER_FORCE_TTY"]
    begin
      Bundler.setup
    rescue Bundler::BundlerError => e
      puts "\e[31m#{e.message}\e[0m"
      puts e.backtrace.join("\n") if ENV["DEBUG"]
      if e.is_a?(Bundler::GemNotFound)
        puts "\e[33mRun `bundle install` to install missing gems.\e[0m"
      end
      exit e.status_code
    end
  else
    Bundler.setup
  end

  unless ENV["BUNDLE_POSTIT_TRAMPOLINING_VERSION"]
    # Add bundler to the load path after disabling system gems
    # This is guarenteed to be done already if we've trampolined
    bundler_lib = File.expand_path("../..", __FILE__)
    $LOAD_PATH.unshift(bundler_lib) unless $LOAD_PATH.include?(bundler_lib)
  end

  Bundler.ui = nil
end