bundler 2.3.21 → 2.3.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/bundler.gemspec +6 -8
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli.rb +2 -1
- data/lib/bundler/current_ruby.rb +14 -5
- data/lib/bundler/definition.rb +5 -8
- data/lib/bundler/dependency.rb +18 -85
- data/lib/bundler/endpoint_specification.rb +1 -1
- data/lib/bundler/feature_flag.rb +0 -1
- data/lib/bundler/gem_version_promoter.rb +4 -18
- data/lib/bundler/injector.rb +2 -1
- data/lib/bundler/lockfile_generator.rb +1 -1
- data/lib/bundler/man/bundle-add.1 +6 -2
- data/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +1 -1
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +1 -1
- data/lib/bundler/man/bundle-console.1 +53 -0
- data/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +1 -1
- data/lib/bundler/man/bundle-help.1 +13 -0
- data/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -1
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-plugin.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +1 -1
- data/lib/bundler/man/bundle-version.1 +35 -0
- data/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +6 -2
- data/lib/bundler/man/bundle.1.ronn +4 -1
- data/lib/bundler/man/gemfile.5 +8 -38
- data/lib/bundler/man/gemfile.5.ronn +9 -27
- data/lib/bundler/man/index.txt +3 -0
- data/lib/bundler/match_remote_metadata.rb +4 -1
- data/lib/bundler/resolver/base.rb +50 -0
- data/lib/bundler/resolver.rb +67 -84
- data/lib/bundler/rubygems_ext.rb +13 -3
- data/lib/bundler/settings.rb +0 -1
- data/lib/bundler/spec_set.rb +10 -0
- data/lib/bundler/version.rb +1 -1
- metadata +11 -4
@@ -0,0 +1,12 @@
|
|
1
|
+
bundle-help(1) -- Displays detailed help for each subcommand
|
2
|
+
============================================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`bundle help` [COMMAND]
|
7
|
+
|
8
|
+
## DESCRIPTION
|
9
|
+
|
10
|
+
Displays detailed help for the given subcommand.
|
11
|
+
You can specify a single `COMMAND` at the same time.
|
12
|
+
When `COMMAND` is omitted, help for `help` command will be displayed.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OPEN" "1" "
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
@@ -0,0 +1,35 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "BUNDLE\-VERSION" "1" "September 2022" "" ""
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBbundle\-version\fR \- Prints Bundler version information
|
8
|
+
.
|
9
|
+
.SH "SYNOPSIS"
|
10
|
+
\fBbundle version\fR
|
11
|
+
.
|
12
|
+
.SH "DESCRIPTION"
|
13
|
+
Prints Bundler version information\.
|
14
|
+
.
|
15
|
+
.SH "OPTIONS"
|
16
|
+
No options\.
|
17
|
+
.
|
18
|
+
.SH "EXAMPLE"
|
19
|
+
Print the version of Bundler with build date and commit hash of the in the Git source\.
|
20
|
+
.
|
21
|
+
.IP "" 4
|
22
|
+
.
|
23
|
+
.nf
|
24
|
+
|
25
|
+
bundle version
|
26
|
+
.
|
27
|
+
.fi
|
28
|
+
.
|
29
|
+
.IP "" 0
|
30
|
+
.
|
31
|
+
.P
|
32
|
+
shows \fBBundler version 2\.3\.21 (2022\-08\-24 commit d54be5fdd8)\fR for example\.
|
33
|
+
.
|
34
|
+
.P
|
35
|
+
cf\. \fBbundle \-\-version\fR shows \fBBundler version 2\.3\.21\fR\.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
bundle-version(1) -- Prints Bundler version information
|
2
|
+
=======================================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`bundle version`
|
7
|
+
|
8
|
+
## DESCRIPTION
|
9
|
+
|
10
|
+
Prints Bundler version information.
|
11
|
+
|
12
|
+
## OPTIONS
|
13
|
+
|
14
|
+
No options.
|
15
|
+
|
16
|
+
## EXAMPLE
|
17
|
+
|
18
|
+
Print the version of Bundler with build date and commit hash of the in the Git source.
|
19
|
+
|
20
|
+
bundle version
|
21
|
+
|
22
|
+
shows `Bundler version 2.3.21 (2022-08-24 commit d54be5fdd8)` for example.
|
23
|
+
|
24
|
+
cf. `bundle --version` shows `Bundler version 2.3.21`.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-VIZ" "1" "
|
4
|
+
.TH "BUNDLE\-VIZ" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
data/lib/bundler/man/bundle.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE" "1" "
|
4
|
+
.TH "BUNDLE" "1" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\fR \- Ruby Dependency Management
|
@@ -55,7 +55,7 @@ Execute a script in the current bundle
|
|
55
55
|
Specify and read configuration options for Bundler
|
56
56
|
.
|
57
57
|
.TP
|
58
|
-
\fBbundle help(1)\fR
|
58
|
+
\fBbundle help(1)\fR \fIbundle\-help\.1\.html\fR
|
59
59
|
Display detailed help for each subcommand
|
60
60
|
.
|
61
61
|
.SH "UTILITIES"
|
@@ -124,6 +124,10 @@ Removes gems from the Gemfile
|
|
124
124
|
\fBbundle plugin(1)\fR \fIbundle\-plugin\.1\.html\fR
|
125
125
|
Manage Bundler plugins
|
126
126
|
.
|
127
|
+
.TP
|
128
|
+
\fBbundle version(1)\fR \fIbundle\-version\.1\.html\fR
|
129
|
+
Prints Bundler version information
|
130
|
+
.
|
127
131
|
.SH "PLUGINS"
|
128
132
|
When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bundler will try to find an executable on your path named \fBbundler\-<command>\fR and execute it, passing down any extra arguments to it\.
|
129
133
|
.
|
@@ -46,7 +46,7 @@ We divide `bundle` subcommands into primary commands and utilities:
|
|
46
46
|
* [`bundle config(1)`](bundle-config.1.html):
|
47
47
|
Specify and read configuration options for Bundler
|
48
48
|
|
49
|
-
* `bundle help(1)
|
49
|
+
* [`bundle help(1)`](bundle-help.1.html):
|
50
50
|
Display detailed help for each subcommand
|
51
51
|
|
52
52
|
## UTILITIES
|
@@ -100,6 +100,9 @@ We divide `bundle` subcommands into primary commands and utilities:
|
|
100
100
|
* [`bundle plugin(1)`](bundle-plugin.1.html):
|
101
101
|
Manage Bundler plugins
|
102
102
|
|
103
|
+
* [`bundle version(1)`](bundle-version.1.html):
|
104
|
+
Prints Bundler version information
|
105
|
+
|
103
106
|
## PLUGINS
|
104
107
|
|
105
108
|
When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,
|
data/lib/bundler/man/gemfile.5
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GEMFILE" "5" "
|
4
|
+
.TH "GEMFILE" "5" "September 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
@@ -254,19 +254,15 @@ There are a number of \fBGemfile\fR platforms:
|
|
254
254
|
.
|
255
255
|
.TP
|
256
256
|
\fBruby\fR
|
257
|
-
C Ruby (MRI), Rubinius or TruffleRuby, but
|
257
|
+
C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
|
258
258
|
.
|
259
259
|
.TP
|
260
260
|
\fBmri\fR
|
261
|
-
|
261
|
+
C Ruby (MRI) only, but not Windows
|
262
262
|
.
|
263
263
|
.TP
|
264
|
-
\
|
265
|
-
Windows 32
|
266
|
-
.
|
267
|
-
.TP
|
268
|
-
\fBx64_mingw\fR
|
269
|
-
Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
|
264
|
+
\fBwindows\fR
|
265
|
+
Windows C Ruby (MRI), including RubyInstaller 32\-bit and 64\-bit versions
|
270
266
|
.
|
271
267
|
.TP
|
272
268
|
\fBrbx\fR
|
@@ -280,15 +276,8 @@ JRuby
|
|
280
276
|
\fBtruffleruby\fR
|
281
277
|
TruffleRuby
|
282
278
|
.
|
283
|
-
.TP
|
284
|
-
\fBmswin\fR
|
285
|
-
Windows
|
286
|
-
.
|
287
279
|
.P
|
288
|
-
|
289
|
-
.
|
290
|
-
.P
|
291
|
-
To specify a version in addition to a platform, append the version number without the delimiter to the platform\. For example, to specify that a gem should only be used on platforms with Ruby 2\.3, use:
|
280
|
+
On platforms \fBruby\fR, \fBmri\fR, and \fBwindows\fR, you may additionally specify a version by appending the major and minor version numbers without a delimiter\. For example, to specify that a gem should only be used on platform \fBruby\fR version 2\.3, use:
|
292
281
|
.
|
293
282
|
.IP "" 4
|
294
283
|
.
|
@@ -301,26 +290,7 @@ ruby_23
|
|
301
290
|
.IP "" 0
|
302
291
|
.
|
303
292
|
.P
|
304
|
-
|
305
|
-
.
|
306
|
-
.TP
|
307
|
-
\fBruby\fR
|
308
|
-
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
|
309
|
-
.
|
310
|
-
.TP
|
311
|
-
\fBmri\fR
|
312
|
-
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
|
313
|
-
.
|
314
|
-
.TP
|
315
|
-
\fBmingw\fR
|
316
|
-
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
|
317
|
-
.
|
318
|
-
.TP
|
319
|
-
\fBx64_mingw\fR
|
320
|
-
2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
|
321
|
-
.
|
322
|
-
.P
|
323
|
-
As with groups, you can specify one or more platforms:
|
293
|
+
As with groups (above), you may specify one or more platforms:
|
324
294
|
.
|
325
295
|
.IP "" 4
|
326
296
|
.
|
@@ -328,7 +298,7 @@ As with groups, you can specify one or more platforms:
|
|
328
298
|
|
329
299
|
gem "weakling", platforms: :jruby
|
330
300
|
gem "ruby\-debug", platforms: :mri_18
|
331
|
-
gem "nokogiri", platforms: [:
|
301
|
+
gem "nokogiri", platforms: [:windows_26, :jruby]
|
332
302
|
.
|
333
303
|
.fi
|
334
304
|
.
|
@@ -190,47 +190,29 @@ platforms.
|
|
190
190
|
There are a number of `Gemfile` platforms:
|
191
191
|
|
192
192
|
* `ruby`:
|
193
|
-
C Ruby (MRI), Rubinius or TruffleRuby, but
|
193
|
+
C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
|
194
194
|
* `mri`:
|
195
|
-
|
196
|
-
* `
|
197
|
-
Windows 32
|
198
|
-
* `x64_mingw`:
|
199
|
-
Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
|
195
|
+
C Ruby (MRI) only, but not Windows
|
196
|
+
* `windows`:
|
197
|
+
Windows C Ruby (MRI), including RubyInstaller 32-bit and 64-bit versions
|
200
198
|
* `rbx`:
|
201
199
|
Rubinius
|
202
200
|
* `jruby`:
|
203
201
|
JRuby
|
204
202
|
* `truffleruby`:
|
205
203
|
TruffleRuby
|
206
|
-
* `mswin`:
|
207
|
-
Windows
|
208
204
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
To specify a version in addition to a platform, append the version number without
|
213
|
-
the delimiter to the platform. For example, to specify that a gem should only be
|
214
|
-
used on platforms with Ruby 2.3, use:
|
205
|
+
On platforms `ruby`, `mri`, and `windows`, you may additionally specify a version
|
206
|
+
by appending the major and minor version numbers without a delimiter. For example,
|
207
|
+
to specify that a gem should only be used on platform `ruby` version 2.3, use:
|
215
208
|
|
216
209
|
ruby_23
|
217
210
|
|
218
|
-
|
219
|
-
|
220
|
-
* `ruby`:
|
221
|
-
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
|
222
|
-
* `mri`:
|
223
|
-
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
|
224
|
-
* `mingw`:
|
225
|
-
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
|
226
|
-
* `x64_mingw`:
|
227
|
-
2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
|
228
|
-
|
229
|
-
As with groups, you can specify one or more platforms:
|
211
|
+
As with groups (above), you may specify one or more platforms:
|
230
212
|
|
231
213
|
gem "weakling", platforms: :jruby
|
232
214
|
gem "ruby-debug", platforms: :mri_18
|
233
|
-
gem "nokogiri", platforms: [:
|
215
|
+
gem "nokogiri", platforms: [:windows_26, :jruby]
|
234
216
|
|
235
217
|
All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
|
236
218
|
`Bundler.require`) behave exactly the same as if any groups not
|
data/lib/bundler/man/index.txt
CHANGED
@@ -6,9 +6,11 @@ bundle-cache(1) bundle-cache.1
|
|
6
6
|
bundle-check(1) bundle-check.1
|
7
7
|
bundle-clean(1) bundle-clean.1
|
8
8
|
bundle-config(1) bundle-config.1
|
9
|
+
bundle-console(1) bundle-console.1
|
9
10
|
bundle-doctor(1) bundle-doctor.1
|
10
11
|
bundle-exec(1) bundle-exec.1
|
11
12
|
bundle-gem(1) bundle-gem.1
|
13
|
+
bundle-help(1) bundle-help.1
|
12
14
|
bundle-info(1) bundle-info.1
|
13
15
|
bundle-init(1) bundle-init.1
|
14
16
|
bundle-inject(1) bundle-inject.1
|
@@ -23,4 +25,5 @@ bundle-pristine(1) bundle-pristine.1
|
|
23
25
|
bundle-remove(1) bundle-remove.1
|
24
26
|
bundle-show(1) bundle-show.1
|
25
27
|
bundle-update(1) bundle-update.1
|
28
|
+
bundle-version(1) bundle-version.1
|
26
29
|
bundle-viz(1) bundle-viz.1
|
@@ -2,8 +2,11 @@
|
|
2
2
|
|
3
3
|
module Bundler
|
4
4
|
module FetchMetadata
|
5
|
+
# A fallback is included because the original version of the specification
|
6
|
+
# API didn't include that field, so some marshalled specs in the index have it
|
7
|
+
# set to +nil+.
|
5
8
|
def matches_current_ruby?
|
6
|
-
@required_ruby_version ||= _remote_specification.required_ruby_version
|
9
|
+
@required_ruby_version ||= _remote_specification.required_ruby_version || Gem::Requirement.default
|
7
10
|
|
8
11
|
super
|
9
12
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bundler
|
4
|
+
class Resolver
|
5
|
+
class Base
|
6
|
+
def initialize(base, additional_base_requirements)
|
7
|
+
@base = base
|
8
|
+
@additional_base_requirements = additional_base_requirements
|
9
|
+
end
|
10
|
+
|
11
|
+
def [](name)
|
12
|
+
@base[name]
|
13
|
+
end
|
14
|
+
|
15
|
+
def delete(spec)
|
16
|
+
@base.delete(spec)
|
17
|
+
end
|
18
|
+
|
19
|
+
def base_requirements
|
20
|
+
@base_requirements ||= build_base_requirements
|
21
|
+
end
|
22
|
+
|
23
|
+
def unlock_deps(deps)
|
24
|
+
exact, lower_bound = deps.partition(&:specific?)
|
25
|
+
|
26
|
+
exact.each do |exact_dep|
|
27
|
+
@base.delete_by_name_and_version(exact_dep.name, exact_dep.requirement.requirements.first.last)
|
28
|
+
end
|
29
|
+
|
30
|
+
lower_bound.each do |lower_bound_dep|
|
31
|
+
@additional_base_requirements.delete(lower_bound_dep)
|
32
|
+
end
|
33
|
+
|
34
|
+
@base_requirements = nil
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def build_base_requirements
|
40
|
+
base_requirements = {}
|
41
|
+
@base.each do |ls|
|
42
|
+
dep = Dependency.new(ls.name, ls.version)
|
43
|
+
base_requirements[ls.name] = DepProxy.get_proxy(dep, ls.platform)
|
44
|
+
end
|
45
|
+
@additional_base_requirements.each {|d| base_requirements[d.name] = d }
|
46
|
+
base_requirements
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|