dependabot-bundler 0.178.1 → 0.180.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4c8a7a3f791c3e68a3250f7040dec1824c636b1fb9bbff2b29f0621f6d55c44
4
- data.tar.gz: 2a768d1157a39039a4555728e8b046965f04903d2038e6bb94f948ea26e89fed
3
+ metadata.gz: 1d1ddc45a87e6cc4dbb13bf925afbf9a71d550910c80c1f515aae485d59436f7
4
+ data.tar.gz: 8c606db8cb4755d469290aa5101964e48e67621331ee6ef846c4625ac9b66f89
5
5
  SHA512:
6
- metadata.gz: 196dfca63aef59d58355af1fde2342c5721c14f908ee33581a99d7b66fcd19d279e0916425bb753fcc19734a10658f520d1894975efcdb3b27db511085fe87bc
7
- data.tar.gz: 518d168d404f7756ce875fa957d784db4dbb869ed7a8e8b85450fae2494ea3a598dc991075daa3389968c91f9ae0ca26876b381e04ae6ba3b894ed6155030efd
6
+ metadata.gz: f0c2f00ad9bce606cab94a05e1af5821b51a3d6ac5c4b009c62a20bbd53d4b1cceea9a48017fd89ad5bc9911767b940446899e8432f801e8252f835c4a81bfe2
7
+ data.tar.gz: ae50631806525ff1e2048e45271b71ac088adf01e4770833b3d6108e372ef354809460faf2d4485dc96a87901d00c58d79061f9def7a227cc60d955dc03f4f43
data/helpers/v1/Gemfile CHANGED
@@ -5,8 +5,8 @@ source "https://rubygems.org"
5
5
  # NOTE: Used to run native helper specs
6
6
  group :test do
7
7
  gem "debug", ">= 1.0.0"
8
- gem "rspec", "3.10.0"
9
- gem "rspec-its", "1.3.0"
10
- gem "vcr", "6.0.0"
11
- gem "webmock", "3.12.1"
8
+ gem "rspec", "~> 3.8"
9
+ gem "rspec-its", "~> 1.2"
10
+ gem "vcr", "6.1.0"
11
+ gem "webmock", "~> 3.4"
12
12
  end
@@ -144,6 +144,9 @@ module Functions
144
144
  token.gsub("@", "%40F").gsub("?", "%3F")
145
145
  )
146
146
  end
147
+
148
+ # Use HTTPS for GitHub if lockfile
149
+ Bundler.settings.set_command_option("github.https", "true")
147
150
  end
148
151
 
149
152
  def self.relevant_credentials(credentials)
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/vendor/fileutils/lib/fileutils"
4
+
5
+ # Port
6
+ # https://github.com/ruby/fileutils/commit/a5eca84a4240e29bb7886c3ef7085d464a972dd0
7
+ # to fix keyword argument errors on Ruby 3.1
8
+
9
+ module BundlerFileUtilsKeywordSplatPatch
10
+ def entries
11
+ opts = {}
12
+ opts[:encoding] = ::Encoding::UTF_8 if fu_windows?
13
+ Dir.entries(path, **opts).
14
+ reject { |n| [".", ".."].include?(n) }.
15
+ map { |n| self.class.new(prefix, join(rel, n.untaint)) }
16
+ end
17
+ end
18
+
19
+ Bundler::FileUtils::Entry_.prepend(BundlerFileUtilsKeywordSplatPatch)
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/resolver/spec_group"
4
+
5
+ # Port
6
+ # https://github.com/rubygems/bundler/commit/30a690edbdf5ee64ea54afc7d0c91d910ff2b80e
7
+ # to fix flaky failures on Bundler 1
8
+
9
+ module BundlerResolverSpecGroupSaneEql
10
+ def eql?(other)
11
+ return unless other.is_a?(self.class)
12
+
13
+ super(other)
14
+ end
15
+ end
16
+
17
+ Bundler::Resolver::SpecGroup.prepend(BundlerResolverSpecGroupSaneEql)
data/helpers/v1/run.rb CHANGED
@@ -14,7 +14,9 @@ end
14
14
  # Bundler monkey patches
15
15
  require "definition_ruby_version_patch"
16
16
  require "definition_bundler_version_patch"
17
+ require "fileutils_keyword_splat_patch"
17
18
  require "git_source_patch"
19
+ require "resolver_spec_group_sane_eql"
18
20
 
19
21
  require "functions"
20
22
 
@@ -11,7 +11,9 @@ $LOAD_PATH.unshift(File.expand_path("../monkey_patches", __dir__))
11
11
  # Bundler monkey patches
12
12
  require "definition_ruby_version_patch"
13
13
  require "definition_bundler_version_patch"
14
+ require "fileutils_keyword_splat_patch"
14
15
  require "git_source_patch"
16
+ require "resolver_spec_group_sane_eql"
15
17
 
16
18
  require "functions"
17
19
 
data/helpers/v2/Gemfile CHANGED
@@ -5,8 +5,8 @@ source "https://rubygems.org"
5
5
  # NOTE: Used to run native helper specs
6
6
  group :test do
7
7
  gem "debug", ">= 1.0.0"
8
- gem "rspec", "3.10.0"
9
- gem "rspec-its", "1.3.0"
10
- gem "vcr", "6.0.0"
11
- gem "webmock", "3.12.1"
8
+ gem "rspec", "~> 3.8"
9
+ gem "rspec-its", "~> 1.2"
10
+ gem "vcr", "6.1.0"
11
+ gem "webmock", "~> 3.4"
12
12
  end
@@ -150,9 +150,7 @@ module Functions
150
150
  # NOTE: Prevent bundler from printing resolution information
151
151
  Bundler.ui = Bundler::UI::Silent.new
152
152
 
153
- # Use HTTPS for GitHub if lockfile
154
153
  Bundler.settings.set_command_option("forget_cli_options", "true")
155
- Bundler.settings.set_command_option("github.https", "true")
156
154
  end
157
155
 
158
156
  def self.relevant_credentials(credentials)
@@ -16,7 +16,6 @@ module Dependabot
16
16
  require_relative "gemspec_updater"
17
17
  require_relative "gemspec_sanitizer"
18
18
  require_relative "gemspec_dependency_name_finder"
19
- require_relative "ruby_requirement_setter"
20
19
 
21
20
  LOCKFILE_ENDING =
22
21
  /(?<ending>\s*(?:RUBY VERSION|BUNDLED WITH).*)/m.freeze
@@ -80,23 +79,10 @@ module Dependabot
80
79
  )
81
80
  end
82
81
  post_process_lockfile(lockfile_body)
83
- rescue SharedHelpers::HelperSubprocessFailed => e
84
- raise unless ruby_lock_error?(e)
85
-
86
- @dont_lock_ruby_version = true
87
- retry
88
- end
89
-
90
- def ruby_lock_error?(error)
91
- return false unless error.error_class == "Bundler::VersionConflict"
92
- return false unless error.message.include?(" for gem \"ruby\0\"")
93
- return false if @dont_lock_ruby_version
94
-
95
- dependency_files.any? { |f| f.name.end_with?(".gemspec") }
96
82
  end
97
83
 
98
84
  def write_temporary_dependency_files
99
- File.write(gemfile.name, prepared_gemfile_content(gemfile))
85
+ File.write(gemfile.name, updated_gemfile_content(gemfile))
100
86
  File.write(lockfile.name, sanitized_lockfile_body)
101
87
 
102
88
  top_level_gemspecs.each do |gemspec|
@@ -236,21 +222,6 @@ module Dependabot
236
222
  end
237
223
  # rubocop:enable Metrics/PerceivedComplexity
238
224
 
239
- def prepared_gemfile_content(file)
240
- content =
241
- GemfileUpdater.new(
242
- dependencies: dependencies,
243
- gemfile: file
244
- ).updated_gemfile_content
245
- return content if @dont_lock_ruby_version
246
-
247
- top_level_gemspecs.each do |gs|
248
- content = RubyRequirementSetter.new(gemspec: gs).rewrite(content)
249
- end
250
-
251
- content
252
- end
253
-
254
225
  def updated_gemfile_content(file)
255
226
  GemfileUpdater.new(
256
227
  dependencies: dependencies,
@@ -69,7 +69,7 @@ module Dependabot
69
69
  helpers_root = ENV["DEPENDABOT_NATIVE_HELPERS_PATH"]
70
70
  return File.join(helpers_root, "bundler") unless helpers_root.nil?
71
71
 
72
- File.join(__dir__, "../../../helpers")
72
+ File.expand_path("../../../helpers", __dir__)
73
73
  end
74
74
  end
75
75
  end
@@ -139,7 +139,8 @@ module Dependabot
139
139
  end
140
140
 
141
141
  def ruby_lock_error?(error)
142
- return false unless error.message.include?(" for gem \"ruby\0\"")
142
+ return false unless error.message.include?(" for the Ruby\0 version") || # Bundler 2
143
+ error.message.include?(" for gem \"ruby\0\"") # Bundler 1
143
144
  return false if @gemspec_ruby_unlocked
144
145
 
145
146
  dependency_files.any? { |f| f.name.end_with?(".gemspec") }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.178.1
4
+ version: 0.180.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-14 00:00:00.000000000 Z
11
+ date: 2022-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.178.1
19
+ version: 0.180.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.178.1
26
+ version: 0.180.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.23.0
103
+ version: 1.26.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.23.0
110
+ version: 1.26.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 6.0.0
159
+ version: 6.1.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 6.0.0
166
+ version: 6.1.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: webmock
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +197,9 @@ files:
197
197
  - helpers/v1/lib/functions/version_resolver.rb
198
198
  - helpers/v1/monkey_patches/definition_bundler_version_patch.rb
199
199
  - helpers/v1/monkey_patches/definition_ruby_version_patch.rb
200
+ - helpers/v1/monkey_patches/fileutils_keyword_splat_patch.rb
200
201
  - helpers/v1/monkey_patches/git_source_patch.rb
202
+ - helpers/v1/monkey_patches/resolver_spec_group_sane_eql.rb
201
203
  - helpers/v1/run.rb
202
204
  - helpers/v1/spec/functions/conflicting_dependency_resolver_spec.rb
203
205
  - helpers/v1/spec/functions/dependency_source_spec.rb
@@ -273,12 +275,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
275
  requirements:
274
276
  - - ">="
275
277
  - !ruby/object:Gem::Version
276
- version: 2.5.0
278
+ version: 2.7.0
277
279
  required_rubygems_version: !ruby/object:Gem::Requirement
278
280
  requirements:
279
281
  - - ">="
280
282
  - !ruby/object:Gem::Version
281
- version: 2.5.0
283
+ version: 2.7.0
282
284
  requirements: []
283
285
  rubygems_version: 3.2.32
284
286
  signing_key: