dependabot-bundler 0.98.37 → 0.98.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d7dd14e5c6f735e9eb1ce2f765da082ff8c51f4619d58d65bce09d3a26c0a24
4
- data.tar.gz: 24e79dec9d75be1cfa4c6c8d925a2a7a1cce2ffb2fc8a6555364302d8f907e37
3
+ metadata.gz: 825ba20231d07bef92e85f5e6c050b081635e7eba517fbd0a36eab2c3e21efab
4
+ data.tar.gz: 0a9b6bf93a888d65afe04e0105c07016e400c5541b6387db172f1362582fd4b8
5
5
  SHA512:
6
- metadata.gz: 668a852434932a1b42eea2b47ccaf47640facd3dbead767baac1777447552b95485a23544e3889278b8f7be6a5db06c24b2953734f7f7b1b14c2b36bd7783aca
7
- data.tar.gz: 8205569e193a87a78fdc40a5bed65e5de740701628c753f5379aec185312c33e68c02fd3db97be862f2c787a6f1ec36e4f92beafa7aa4965cbe15c7e28284e15
6
+ metadata.gz: b51ec6c9ee85f4e0d23ebf5fefbffb75486cc7239c643eb8fbbada6e5d4a9575b0a3df6154d3224af8f14cd3e2b88d0b98fa8dbf72c3774a4e9ce72c4ccc0e72
7
+ data.tar.gz: 7dedda8e6b260d0dad124cc696b605b1ddbc8262a0ee9e5430f26ab6716a3d14784367ff26bcc0843bf6a926ef401b78b935639e8706ace33475ddeb507467f9
@@ -20,6 +20,7 @@ module Dependabot
20
20
  require_relative "gemspec_updater"
21
21
  require_relative "gemspec_sanitizer"
22
22
  require_relative "gemspec_dependency_name_finder"
23
+ require_relative "ruby_requirement_setter"
23
24
 
24
25
  LOCKFILE_ENDING =
25
26
  /(?<ending>\s*(?:RUBY VERSION|BUNDLED WITH).*)/m.freeze
@@ -93,10 +94,22 @@ module Dependabot
93
94
  end
94
95
  end
95
96
  post_process_lockfile(lockfile_body)
97
+ rescue Dependabot::DependencyFileNotResolvable => error
98
+ raise unless ruby_lock_error?(error)
99
+
100
+ @dont_lock_ruby_version = true
101
+ retry
102
+ end
103
+
104
+ def ruby_lock_error?(error)
105
+ return false unless error.message.include?(" for gem \"ruby\0\"")
106
+ return false if @dont_lock_ruby_version
107
+
108
+ dependency_files.any? { |f| f.name.end_with?(".gemspec") }
96
109
  end
97
110
 
98
111
  def write_temporary_dependency_files
99
- File.write(gemfile.name, updated_gemfile_content(gemfile))
112
+ File.write(gemfile.name, prepared_gemfile_content(gemfile))
100
113
  File.write(lockfile.name, sanitized_lockfile_body)
101
114
 
102
115
  top_level_gemspecs.each do |gemspec|
@@ -340,6 +353,21 @@ module Dependabot
340
353
  end
341
354
  end
342
355
 
356
+ def prepared_gemfile_content(file)
357
+ content =
358
+ GemfileUpdater.new(
359
+ dependencies: dependencies,
360
+ gemfile: file
361
+ ).updated_gemfile_content
362
+ return content if @dont_lock_ruby_version
363
+
364
+ top_level_gemspecs.each do |gs|
365
+ content = RubyRequirementSetter.new(gemspec: gs).rewrite(content)
366
+ end
367
+
368
+ content
369
+ end
370
+
343
371
  def updated_gemfile_content(file)
344
372
  GemfileUpdater.new(
345
373
  dependencies: dependencies,
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "parser/current"
4
- require "dependabot/bundler/update_checker"
4
+ require "dependabot/bundler/file_updater"
5
5
 
6
6
  module Dependabot
7
7
  module Bundler
8
- class UpdateChecker
8
+ class FileUpdater
9
9
  class RubyRequirementSetter
10
10
  RUBY_VERSIONS =
11
11
  %w(1.8.7 1.9.3 2.0.0 2.1.10 2.2.10 2.3.8 2.4.5 2.5.5 2.6.2).freeze
@@ -8,7 +8,7 @@ require "dependabot/bundler/file_updater/git_source_remover"
8
8
  require "dependabot/bundler/file_updater/requirement_replacer"
9
9
  require "dependabot/bundler/file_updater/gemspec_dependency_name_finder"
10
10
  require "dependabot/bundler/file_updater/lockfile_updater"
11
- require "dependabot/bundler/update_checker/ruby_requirement_setter"
11
+ require "dependabot/bundler/file_updater/ruby_requirement_setter"
12
12
 
13
13
  module Dependabot
14
14
  module Bundler
@@ -240,8 +240,8 @@ module Dependabot
240
240
 
241
241
  def lock_ruby_version(gemfile_content)
242
242
  top_level_gemspecs.each do |gs|
243
- gemfile_content =
244
- RubyRequirementSetter.new(gemspec: gs).rewrite(gemfile_content)
243
+ gemfile_content = FileUpdater::RubyRequirementSetter.
244
+ new(gemspec: gs).rewrite(gemfile_content)
245
245
  end
246
246
 
247
247
  gemfile_content
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.98.37
4
+ version: 0.98.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.98.37
19
+ version: 0.98.38
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.98.37
26
+ version: 0.98.38
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -161,6 +161,7 @@ files:
161
161
  - lib/dependabot/bundler/file_updater/git_source_remover.rb
162
162
  - lib/dependabot/bundler/file_updater/lockfile_updater.rb
163
163
  - lib/dependabot/bundler/file_updater/requirement_replacer.rb
164
+ - lib/dependabot/bundler/file_updater/ruby_requirement_setter.rb
164
165
  - lib/dependabot/bundler/metadata_finder.rb
165
166
  - lib/dependabot/bundler/requirement.rb
166
167
  - lib/dependabot/bundler/update_checker.rb
@@ -168,7 +169,6 @@ files:
168
169
  - lib/dependabot/bundler/update_checker/force_updater.rb
169
170
  - lib/dependabot/bundler/update_checker/latest_version_finder.rb
170
171
  - lib/dependabot/bundler/update_checker/requirements_updater.rb
171
- - lib/dependabot/bundler/update_checker/ruby_requirement_setter.rb
172
172
  - lib/dependabot/bundler/update_checker/shared_bundler_helpers.rb
173
173
  - lib/dependabot/bundler/update_checker/version_resolver.rb
174
174
  - lib/dependabot/bundler/version.rb