bundler-multilock 1.3.2 → 1.3.4

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: 7796ee7b54f841aa9c6d127e05f878a1045078c94e842f04bf4e4f0ebb09ac1d
4
- data.tar.gz: f1a35917e5fcfdf2eab572b4052d14766506e13253130c373114779d4598420e
3
+ metadata.gz: da3ded37f471d444da6f860086f722ae58d6931abff43fd10f3dcb98baf85eca
4
+ data.tar.gz: 4ddfb06eb83387e3d4f2407bdc7815d6480e87a55644dea03f1eff97176c4ca2
5
5
  SHA512:
6
- metadata.gz: e1b5840035aab37b5a54bcb289649c40e6dd9451aff3d5858d45faea4750452381e7af904ac7c96146edd595e173143db07c827aa4f590701a513ac9e426979a
7
- data.tar.gz: 9abece5b78beb3c5005a96577bf714ca3477865a4bfa897899628a2fd7556596f0697b2cef5cd530866079483e01c5aa46d1511a69343c3229fcebe7fe65acd4
6
+ metadata.gz: 25f025a11a47118ca6e651a237d8f57164462faecc83e3a4258481ae2c918d9d6b8a6c9ddcb00dfdb508c0f3c0296c331fd3c1113e1dde3a795df76eb2011b83
7
+ data.tar.gz: 728939a2491429380e7fdd1e14993d4a6c891ee4578cbd149e17a976db353e98abdc38dc3d6469e06281a92f6969c6877970a19546e996575995ac13c3a7513a
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bundler
4
4
  module Multilock
5
- VERSION = "1.3.2"
5
+ VERSION = "1.3.4"
6
6
  end
7
7
  end
@@ -260,6 +260,9 @@ module Bundler
260
260
  spec_precedences[spec.name] = precedence || :parent
261
261
  end
262
262
 
263
+ lockfile.sources.map! do |source|
264
+ parent_lockfile.sources.find { |s| s == source } || source
265
+ end
263
266
  # replace any duplicate specs with what's in the parent lockfile
264
267
  lockfile.specs.map! do |spec|
265
268
  parent_spec = cache.find_matching_spec(parent_specs, spec)
@@ -268,9 +271,11 @@ module Bundler
268
271
 
269
272
  dependency_changes ||= spec != parent_spec
270
273
 
271
- new_spec = parent_spec.dup
272
- new_spec.source = spec.source
273
- new_spec
274
+ if spec.source != parent_spec.source
275
+ parent_spec = parent_spec.dup
276
+ parent_spec.source = spec.source
277
+ end
278
+ parent_spec
274
279
  end
275
280
 
276
281
  lockfile.platforms.replace(parent_lockfile.platforms).uniq!
@@ -483,6 +488,13 @@ module Bundler
483
488
  # from someone else
484
489
  if current_lockfile.exist? && install
485
490
  Bundler.settings.temporary(frozen: true) do
491
+ # it keeps the same sources as the builder, which now shares with
492
+ # `definition` above; give it its own copy to avoid stomping on it
493
+ builder.instance_variable_set(
494
+ :@sources,
495
+ builder.instance_variable_get(:@sources).dup
496
+ )
497
+
486
498
  current_definition = builder.to_definition(current_lockfile, {})
487
499
  # if something has changed, we skip this step; it's unlocking anyway
488
500
  next unless current_definition.no_resolve_needed?
@@ -504,6 +516,14 @@ module Bundler
504
516
  previous_ui_level = Bundler.ui.level
505
517
  Bundler.ui.level = "warn"
506
518
  begin
519
+ # force a remote resolution if intermediate gems are missing
520
+ if definition.instance_variable_get(:@locked_spec_with_missing_deps) ||
521
+ definition.instance_variable_get(:@locked_spec_with_invalid_deps) ||
522
+ definition.instance_variable_get(:@missing_lockfile_dep) ||
523
+ definition.instance_variable_get(:@invalid_lockfile_dep)
524
+ raise SolveFailure
525
+ end
526
+
507
527
  # this is a horrible hack, to fix what I consider to be a Bundler bug.
508
528
  # basically, if you have multiple platform specific gems in your
509
529
  # lockfile, and that gem gets unlocked, Bundler will only search
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler-multilock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-18 00:00:00.000000000 Z
11
+ date: 2024-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  requirements: []
117
- rubygems_version: 3.5.10
117
+ rubygems_version: 3.5.14
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: Support Multiple Lockfiles