From 1d454ae5c2c6dd842a765e10cb24586391db4db8 Mon Sep 17 00:00:00 2001 From: Justin Coyne Date: Wed, 11 Sep 2019 09:33:52 -0500 Subject: [PATCH] Regenerate the bundler binstub and exclude it from rubocop Rubocop autocorrect previously mangled this file which caused deploys to break. See https://github.com/rubocop-hq/rubocop-rails/issues/104 --- .rubocop.yml | 1 + bin/bundle | 45 ++++++++++++++++++++++----------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 2355933b9..415a250ff 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,6 +6,7 @@ require: AllCops: TargetRubyVersion: 2.5 Exclude: + - bin/bundle - db/migrate/** - db/schema.rb - vendor/bundle/**/* diff --git a/bin/bundle b/bin/bundle index 6ccd487d8..4f5e05777 100755 --- a/bin/bundle +++ b/bin/bundle @@ -8,46 +8,46 @@ # this file is here to facilitate running it. # -require 'rubygems' +require "rubygems" m = Module.new do module_function def invoked_as_script? - File.expand_path($PROGRAM_NAME) == File.expand_path(__FILE__) + File.expand_path($0) == File.expand_path(__FILE__) end def env_var_version - ENV['BUNDLER_VERSION'] + ENV["BUNDLER_VERSION"] end def cli_arg_version return unless invoked_as_script? # don't want to hijack other binstubs - return unless 'update'.start_with?(ARGV.first || ' ') # must be running `bundle update` - + return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update` bundler_version = nil update_index = nil ARGV.each_with_index do |a, i| - bundler_version = a if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN + if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN + bundler_version = a + end next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/ - - bundler_version = Regexp.last_match(1) || '>= 0.a' + bundler_version = $1 || ">= 0.a" update_index = i end bundler_version end def gemfile - gemfile = ENV['BUNDLE_GEMFILE'] - return gemfile if gemfile.present? + gemfile = ENV["BUNDLE_GEMFILE"] + return gemfile if gemfile && !gemfile.empty? - File.expand_path('../../Gemfile', __FILE__) + File.expand_path("../../Gemfile", __FILE__) end def lockfile lockfile = case File.basename(gemfile) - when 'gems.rb' then gemfile.sub(/\.rb$/, gemfile) + when "gems.rb" then gemfile.sub(/\.rb$/, gemfile) else "#{gemfile}.lock" end File.expand_path(lockfile) @@ -55,10 +55,8 @@ m = Module.new do def lockfile_version return unless File.file?(lockfile) - lockfile_contents = File.read(lockfile) return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/ - Regexp.last_match(1) end @@ -70,26 +68,25 @@ m = Module.new do end def load_bundler! - ENV['BUNDLE_GEMFILE'] ||= gemfile + ENV["BUNDLE_GEMFILE"] ||= gemfile # must dup string for RG < 1.8 compatibility activate_bundler(bundler_version.dup) end def activate_bundler(bundler_version) - bundler_version = '< 2' if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new('2.0') + if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0") + bundler_version = "< 2" + end gem_error = activation_error_handling do - gem 'bundler', bundler_version + gem "bundler", bundler_version end return if gem_error.nil? - require_error = activation_error_handling do - require 'bundler/version' + require "bundler/version" end return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION)) - - warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\n" \ - "To install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`" + warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`" exit 42 end @@ -103,4 +100,6 @@ end m.load_bundler! -load Gem.bin_path('bundler', 'bundle') if m.invoked_as_script? +if m.invoked_as_script? + load Gem.bin_path("bundler", "bundle") +end