aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/setup.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/setup.rb')
-rw-r--r--lib/bundler/setup.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/bundler/setup.rb b/lib/bundler/setup.rb
new file mode 100644
index 0000000000..9aae6478cd
--- /dev/null
+++ b/lib/bundler/setup.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+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
+
+ # Add bundler to the load path after disabling system gems
+ bundler_lib = File.expand_path("../..", __FILE__)
+ $LOAD_PATH.unshift(bundler_lib) unless $LOAD_PATH.include?(bundler_lib)
+
+ Bundler.ui = nil
+end