bundler-resolutions 0.6.1 → 0.7.0
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 +4 -4
- data/lib/bundler/resolutions/version.rb +1 -1
- data/lib/bundler/resolutions.rb +9 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 78c5e70014942923983e9669d3b7f9157a7681ba235fcb085097a02387745d3e
|
|
4
|
+
data.tar.gz: e4e52e61f1c815c73239270c60a4c98038035e4ea7b858ffde254084a57609f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da7dfd3dcb8be29d977bfa5d4a499e5925e0bc88178ea6032541a5065eb497c0ca6608687f31f651716ce06ab2ccadbe41741a557ea146f7ce1d401ca607f46d
|
|
7
|
+
data.tar.gz: df5be4ab8dc3df6545b852ad75ffa881a97eeb7727f6ccda827301138c84e49c07d255c958ddd227446e9148f5cd48ee0830dbb469b8b17efc94d69020067ec0
|
data/lib/bundler/resolutions.rb
CHANGED
|
@@ -66,6 +66,15 @@ module Bundler
|
|
|
66
66
|
invalids = @locked_specs.to_a.select { |s| spec_invalid?(s) }
|
|
67
67
|
return if invalids.empty?
|
|
68
68
|
|
|
69
|
+
# Ensure @locked_specs is a separate object from @originally_locked_specs before mutating.
|
|
70
|
+
# Bundler initialises both to the same SpecSet object (definition.rb:
|
|
71
|
+
# `@locked_specs = @originally_locked_specs`). If we delete from the shared object,
|
|
72
|
+
# @originally_locked_specs loses the platform-specific entries too, causing
|
|
73
|
+
# remove_invalid_platforms! to incorrectly strip non-local platforms from @platforms,
|
|
74
|
+
# which in turn drops those platforms from the regenerated lockfile.
|
|
75
|
+
if @locked_specs.equal?(@originally_locked_specs)
|
|
76
|
+
@locked_specs = SpecSet.new(@originally_locked_specs.to_a)
|
|
77
|
+
end
|
|
69
78
|
@locked_specs.delete(invalids)
|
|
70
79
|
# Signal to Bundler that re-resolution is needed due to invalid transitive dependencies.
|
|
71
80
|
# This prevents confusing "Could not find gems valid for all resolution platforms" errors.
|