bundler 2.5.9 → 2.5.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +136 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/check.rb +1 -1
- data/lib/bundler/cli/fund.rb +1 -1
- data/lib/bundler/cli/gem.rb +8 -15
- data/lib/bundler/cli/install.rb +1 -1
- data/lib/bundler/cli.rb +31 -48
- data/lib/bundler/compact_index_client/cache.rb +47 -72
- data/lib/bundler/compact_index_client/parser.rb +84 -0
- data/lib/bundler/compact_index_client.rb +51 -80
- data/lib/bundler/constants.rb +8 -1
- data/lib/bundler/definition.rb +120 -74
- data/lib/bundler/dependency.rb +2 -1
- data/lib/bundler/endpoint_specification.rb +11 -0
- data/lib/bundler/env.rb +1 -1
- data/lib/bundler/environment_preserver.rb +2 -20
- data/lib/bundler/errors.rb +14 -0
- data/lib/bundler/fetcher/compact_index.rb +15 -24
- data/lib/bundler/force_platform.rb +0 -2
- data/lib/bundler/gem_helper.rb +1 -1
- data/lib/bundler/gem_helpers.rb +14 -7
- data/lib/bundler/injector.rb +3 -5
- data/lib/bundler/installer/gem_installer.rb +0 -1
- data/lib/bundler/installer/standalone.rb +0 -3
- data/lib/bundler/installer.rb +9 -11
- data/lib/bundler/lazy_specification.rb +1 -0
- data/lib/bundler/man/bundle-add.1 +1 -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 +3 -1
- data/lib/bundler/man/bundle-check.1.ronn +3 -0
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +2 -4
- data/lib/bundler/man/bundle-config.1.ronn +1 -4
- data/lib/bundler/man/bundle-console.1 +1 -1
- 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 +7 -1
- data/lib/bundler/man/bundle-gem.1.ronn +11 -0
- data/lib/bundler/man/bundle-help.1 +1 -1
- 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 +1 -1
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/plugin/api/source.rb +1 -0
- data/lib/bundler/resolver/base.rb +4 -0
- data/lib/bundler/resolver/candidate.rb +4 -16
- data/lib/bundler/resolver/package.rb +4 -0
- data/lib/bundler/resolver/spec_group.rb +20 -2
- data/lib/bundler/resolver.rb +18 -9
- data/lib/bundler/rubygems_ext.rb +105 -23
- data/lib/bundler/rubygems_gem_installer.rb +35 -2
- data/lib/bundler/rubygems_integration.rb +16 -2
- data/lib/bundler/runtime.rb +1 -6
- data/lib/bundler/self_manager.rb +23 -3
- data/lib/bundler/settings.rb +12 -9
- data/lib/bundler/setup.rb +6 -0
- data/lib/bundler/shared_helpers.rb +6 -4
- data/lib/bundler/source/git/git_proxy.rb +8 -0
- data/lib/bundler/source/git.rb +43 -16
- data/lib/bundler/source/metadata.rb +2 -0
- data/lib/bundler/source/path.rb +0 -13
- data/lib/bundler/source/rubygems.rb +31 -30
- data/lib/bundler/source_list.rb +28 -4
- data/lib/bundler/spec_set.rb +16 -14
- data/lib/bundler/stub_specification.rb +8 -0
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
- data/lib/bundler/vendored_net_http.rb +17 -6
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler/yaml_serializer.rb +2 -9
- data/lib/bundler.rb +26 -1
- metadata +4 -3
data/lib/bundler/injector.rb
CHANGED
@@ -23,10 +23,7 @@ module Bundler
|
|
23
23
|
# @param [Pathname] lockfile_path The lockfile in which to inject the new dependency.
|
24
24
|
# @return [Array]
|
25
25
|
def inject(gemfile_path, lockfile_path)
|
26
|
-
|
27
|
-
# ensure the lock and Gemfile are synced
|
28
|
-
Bundler.definition.ensure_equivalent_gemfile_and_lockfile(true)
|
29
|
-
end
|
26
|
+
Bundler.definition.ensure_equivalent_gemfile_and_lockfile(true)
|
30
27
|
|
31
28
|
# temporarily unfreeze
|
32
29
|
Bundler.settings.temporary(deployment: false, frozen: false) do
|
@@ -120,9 +117,10 @@ module Bundler
|
|
120
117
|
github = ", :github => \"#{d.github}\"" unless d.github.nil?
|
121
118
|
branch = ", :branch => \"#{d.branch}\"" unless d.branch.nil?
|
122
119
|
ref = ", :ref => \"#{d.ref}\"" unless d.ref.nil?
|
120
|
+
glob = ", :glob => \"#{d.glob}\"" unless d.glob.nil?
|
123
121
|
require_path = ", :require => #{convert_autorequire(d.autorequire)}" unless d.autorequire.nil?
|
124
122
|
|
125
|
-
%(gem #{name}#{requirement}#{group}#{source}#{path}#{git}#{github}#{branch}#{ref}#{require_path})
|
123
|
+
%(gem #{name}#{requirement}#{group}#{source}#{path}#{git}#{github}#{branch}#{ref}#{glob}#{require_path})
|
126
124
|
end.join("\n")
|
127
125
|
end
|
128
126
|
|
@@ -58,9 +58,6 @@ module Bundler
|
|
58
58
|
else
|
59
59
|
SharedHelpers.relative_path_to(full_path, from: Bundler.root.join(bundler_path))
|
60
60
|
end
|
61
|
-
rescue TypeError
|
62
|
-
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
63
|
-
raise Gem::InvalidSpecificationException.new(error_message)
|
64
61
|
end
|
65
62
|
|
66
63
|
def prevent_gem_activation
|
data/lib/bundler/installer.rb
CHANGED
@@ -69,9 +69,7 @@ module Bundler
|
|
69
69
|
Bundler.create_bundle_path
|
70
70
|
|
71
71
|
ProcessLock.lock do
|
72
|
-
|
73
|
-
@definition.ensure_equivalent_gemfile_and_lockfile(options[:deployment])
|
74
|
-
end
|
72
|
+
@definition.ensure_equivalent_gemfile_and_lockfile(options[:deployment])
|
75
73
|
|
76
74
|
if @definition.dependencies.empty?
|
77
75
|
Bundler.ui.warn "The Gemfile specifies no dependencies"
|
@@ -249,15 +247,15 @@ module Bundler
|
|
249
247
|
|
250
248
|
# returns whether or not a re-resolve was needed
|
251
249
|
def resolve_if_needed(options)
|
252
|
-
@definition.
|
253
|
-
|
254
|
-
if
|
255
|
-
|
250
|
+
@definition.prefer_local! if options["prefer-local"]
|
251
|
+
|
252
|
+
if options["local"] || (@definition.no_resolve_needed? && !@definition.missing_specs?)
|
253
|
+
@definition.resolve_with_cache!
|
254
|
+
false
|
255
|
+
else
|
256
|
+
@definition.resolve_remotely!
|
257
|
+
true
|
256
258
|
end
|
257
|
-
|
258
|
-
@definition.setup_sources_for_resolve
|
259
|
-
|
260
|
-
true
|
261
259
|
end
|
262
260
|
|
263
261
|
def lock
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
3
|
+
.TH "BUNDLE\-BINSTUBS" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CACHE" "1" "
|
3
|
+
.TH "BUNDLE\-CACHE" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CHECK" "1" "
|
3
|
+
.TH "BUNDLE\-CHECK" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
6
6
|
.SH "SYNOPSIS"
|
@@ -9,6 +9,8 @@
|
|
9
9
|
\fBcheck\fR searches the local machine for each of the gems requested in the Gemfile\. If all gems are found, Bundler prints a success message and exits with a status of 0\.
|
10
10
|
.P
|
11
11
|
If not, the first missing gem is listed and Bundler exits status 1\.
|
12
|
+
.P
|
13
|
+
If the lockfile needs to be updated then it will be resolved using the gems installed on the local machine, if they satisfy the requirements\.
|
12
14
|
.SH "OPTIONS"
|
13
15
|
.TP
|
14
16
|
\fB\-\-dry\-run\fR
|
@@ -15,6 +15,9 @@ a status of 0.
|
|
15
15
|
|
16
16
|
If not, the first missing gem is listed and Bundler exits status 1.
|
17
17
|
|
18
|
+
If the lockfile needs to be updated then it will be resolved using the gems
|
19
|
+
installed on the local machine, if they satisfy the requirements.
|
20
|
+
|
18
21
|
## OPTIONS
|
19
22
|
|
20
23
|
* `--dry-run`:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
3
|
+
.TH "BUNDLE\-CLEAN" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
3
|
+
.TH "BUNDLE\-CONFIG" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-config\fR \- Set bundler configuration options
|
6
6
|
.SH "SYNOPSIS"
|
@@ -95,8 +95,6 @@ Any periods in the configuration keys must be replaced with two underscores when
|
|
95
95
|
.SH "LIST OF AVAILABLE KEYS"
|
96
96
|
The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
|
97
97
|
.IP "\(bu" 4
|
98
|
-
\fBallow_deployment_source_credential_changes\fR (\fBBUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES\fR): When in deployment mode, allow changing the credentials to a gem's source\. Ex: \fBhttps://some\.host\.com/gems/path/\fR \-> \fBhttps://user_name:password@some\.host\.com/gems/path\fR
|
99
|
-
.IP "\(bu" 4
|
100
98
|
\fBallow_offline_install\fR (\fBBUNDLE_ALLOW_OFFLINE_INSTALL\fR): Allow Bundler to use cached data when installing without network access\.
|
101
99
|
.IP "\(bu" 4
|
102
100
|
\fBauto_clean_without_path\fR (\fBBUNDLE_AUTO_CLEAN_WITHOUT_PATH\fR): Automatically run \fBbundle clean\fR after installing when an explicit \fBpath\fR has not been set and Bundler is not installing into the system gems\.
|
@@ -309,7 +307,7 @@ Any \fB\.\fR characters in a host name are mapped to a double underscore (\fB__\
|
|
309
307
|
.P
|
310
308
|
This means that if you have a gem server named \fBmy\.gem\-host\.com\fR, you'll need to use the \fBBUNDLE_MY__GEM___HOST__COM\fR variable to configure credentials for it through ENV\.
|
311
309
|
.SH "CONFIGURE BUNDLER DIRECTORIES"
|
312
|
-
Bundler's home,
|
310
|
+
Bundler's home, cache and plugin directories and config file can be configured through environment variables\. The default location for Bundler's home directory is \fB~/\.bundle\fR, which all directories inherit from by default\. The following outlines the available environment variables and their default values
|
313
311
|
.IP "" 4
|
314
312
|
.nf
|
315
313
|
BUNDLE_USER_HOME : $HOME/\.bundle
|
@@ -137,9 +137,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
|
|
137
137
|
The following is a list of all configuration keys and their purpose. You can
|
138
138
|
learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
139
139
|
|
140
|
-
* `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
|
141
|
-
When in deployment mode, allow changing the credentials to a gem's source.
|
142
|
-
Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
|
143
140
|
* `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
|
144
141
|
Allow Bundler to use cached data when installing without network access.
|
145
142
|
* `auto_clean_without_path` (`BUNDLE_AUTO_CLEAN_WITHOUT_PATH`):
|
@@ -400,7 +397,7 @@ through ENV.
|
|
400
397
|
|
401
398
|
## CONFIGURE BUNDLER DIRECTORIES
|
402
399
|
|
403
|
-
Bundler's home,
|
400
|
+
Bundler's home, cache and plugin directories and config file can be configured
|
404
401
|
through environment variables. The default location for Bundler's home directory is
|
405
402
|
`~/.bundle`, which all directories inherit from by default. The following
|
406
403
|
outlines the available environment variables and their default values
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CONSOLE" "1" "
|
3
|
+
.TH "BUNDLE\-CONSOLE" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-GEM" "1" "
|
3
|
+
.TH "BUNDLE\-GEM" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
6
6
|
.SH "SYNOPSIS"
|
@@ -44,6 +44,8 @@ When Bundler is configured to not generate tests, an interactive prompt will be
|
|
44
44
|
.IP
|
45
45
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler's global config for future \fBbundle gem\fR use\.
|
46
46
|
.IP "\(bu" 4
|
47
|
+
\fB\-\-no\-test\fR: Do not use a test framework (overrides \fB\-\-test\fR specified in the global config)\.
|
48
|
+
.IP "\(bu" 4
|
47
49
|
\fB\-\-ci\fR, \fB\-\-ci=github\fR, \fB\-\-ci=gitlab\fR, \fB\-\-ci=circle\fR: Specify the continuous integration service that Bundler should use when generating the project\. Acceptable values are \fBgithub\fR, \fBgitlab\fR and \fBcircle\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
48
50
|
.IP
|
49
51
|
When Bundler is configured to generate CI files, this defaults to Bundler's global config setting \fBgem\.ci\fR\.
|
@@ -52,6 +54,8 @@ When Bundler is configured to not generate CI files, an interactive prompt will
|
|
52
54
|
.IP
|
53
55
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler's global config for future \fBbundle gem\fR use\.
|
54
56
|
.IP "\(bu" 4
|
57
|
+
\fB\-\-no\-ci\fR: Do not use a continuous integration service (overrides \fB\-\-ci\fR specified in the global config)\.
|
58
|
+
.IP "\(bu" 4
|
55
59
|
\fB\-\-linter\fR, \fB\-\-linter=rubocop\fR, \fB\-\-linter=standard\fR: Specify the linter and code formatter that Bundler should add to the project's development dependencies\. Acceptable values are \fBrubocop\fR and \fBstandard\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
56
60
|
.IP
|
57
61
|
When Bundler is configured to add a linter, this defaults to Bundler's global config setting \fBgem\.linter\fR\.
|
@@ -60,6 +64,8 @@ When Bundler is configured not to add a linter, an interactive prompt will be di
|
|
60
64
|
.IP
|
61
65
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler's global config for future \fBbundle gem\fR use\.
|
62
66
|
.IP "\(bu" 4
|
67
|
+
\fB\-\-no\-linter\fR: Do not add a linter (overrides \fB\-\-linter\fR specified in the global config)\.
|
68
|
+
.IP "\(bu" 4
|
63
69
|
\fB\-e\fR, \fB\-\-edit[=EDITOR]\fR: Open the resulting GEM_NAME\.gemspec in EDITOR, or the default editor if not specified\. The default is \fB$BUNDLER_EDITOR\fR, \fB$VISUAL\fR, or \fB$EDITOR\fR\.
|
64
70
|
.IP "" 0
|
65
71
|
.SH "SEE ALSO"
|
@@ -76,6 +76,10 @@ configuration file using the following names:
|
|
76
76
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
77
77
|
use.
|
78
78
|
|
79
|
+
* `--no-test`:
|
80
|
+
Do not use a test framework (overrides `--test` specified in the global
|
81
|
+
config).
|
82
|
+
|
79
83
|
* `--ci`, `--ci=github`, `--ci=gitlab`, `--ci=circle`:
|
80
84
|
Specify the continuous integration service that Bundler should use when
|
81
85
|
generating the project. Acceptable values are `github`, `gitlab`
|
@@ -92,6 +96,10 @@ configuration file using the following names:
|
|
92
96
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
93
97
|
use.
|
94
98
|
|
99
|
+
* `--no-ci`:
|
100
|
+
Do not use a continuous integration service (overrides `--ci` specified in
|
101
|
+
the global config).
|
102
|
+
|
95
103
|
* `--linter`, `--linter=rubocop`, `--linter=standard`:
|
96
104
|
Specify the linter and code formatter that Bundler should add to the
|
97
105
|
project's development dependencies. Acceptable values are `rubocop` and
|
@@ -108,6 +116,9 @@ configuration file using the following names:
|
|
108
116
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
109
117
|
use.
|
110
118
|
|
119
|
+
* `--no-linter`:
|
120
|
+
Do not add a linter (overrides `--linter` specified in the global config).
|
121
|
+
|
111
122
|
* `-e`, `--edit[=EDITOR]`:
|
112
123
|
Open the resulting GEM_NAME.gemspec in EDITOR, or the default editor if not
|
113
124
|
specified. The default is `$BUNDLER_EDITOR`, `$VISUAL`, or `$EDITOR`.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-INIT" "1" "
|
3
|
+
.TH "BUNDLE\-INIT" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-INJECT" "1" "
|
3
|
+
.TH "BUNDLE\-INJECT" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
3
|
+
.TH "BUNDLE\-INSTALL" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-OPEN" "1" "
|
3
|
+
.TH "BUNDLE\-OPEN" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
3
|
+
.TH "BUNDLE\-OUTDATED" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
3
|
+
.TH "BUNDLE\-PLATFORM" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
3
|
+
.TH "BUNDLE\-PRISTINE" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-SHOW" "1" "
|
3
|
+
.TH "BUNDLE\-SHOW" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
3
|
+
.TH "BUNDLE\-UPDATE" "1" "June 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
6
6
|
.SH "SYNOPSIS"
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
@@ -24,10 +24,10 @@ module Bundler
|
|
24
24
|
|
25
25
|
attr_reader :version
|
26
26
|
|
27
|
-
def initialize(version,
|
28
|
-
@spec_group =
|
27
|
+
def initialize(version, group: nil, priority: -1)
|
28
|
+
@spec_group = group || SpecGroup.new([])
|
29
29
|
@version = Gem::Version.new(version)
|
30
|
-
@
|
30
|
+
@priority = priority
|
31
31
|
end
|
32
32
|
|
33
33
|
def dependencies
|
@@ -40,18 +40,6 @@ module Bundler
|
|
40
40
|
@spec_group.to_specs(package.force_ruby_platform?)
|
41
41
|
end
|
42
42
|
|
43
|
-
def generic!
|
44
|
-
@ruby_only = true
|
45
|
-
|
46
|
-
self
|
47
|
-
end
|
48
|
-
|
49
|
-
def platform_specific!
|
50
|
-
@ruby_only = false
|
51
|
-
|
52
|
-
self
|
53
|
-
end
|
54
|
-
|
55
43
|
def prerelease?
|
56
44
|
@version.prerelease?
|
57
45
|
end
|
@@ -61,7 +49,7 @@ module Bundler
|
|
61
49
|
end
|
62
50
|
|
63
51
|
def sort_obj
|
64
|
-
[@version, @
|
52
|
+
[@version, @priority]
|
65
53
|
end
|
66
54
|
|
67
55
|
def <=>(other)
|
@@ -25,6 +25,10 @@ module Bundler
|
|
25
25
|
@prerelease = @dependency.prerelease? || @locked_version&.prerelease? || prerelease ? :consider_first : :ignore
|
26
26
|
end
|
27
27
|
|
28
|
+
def platform_specs(specs)
|
29
|
+
platforms.map {|platform| GemHelpers.select_best_platform_match(specs, platform, prefer_locked: !unlock?) }
|
30
|
+
end
|
31
|
+
|
28
32
|
def to_s
|
29
33
|
@name.delete("\0")
|
30
34
|
end
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Bundler
|
4
4
|
class Resolver
|
5
5
|
class SpecGroup
|
6
|
+
attr_reader :specs
|
7
|
+
|
6
8
|
def initialize(specs)
|
7
9
|
@specs = specs
|
8
10
|
end
|
@@ -38,17 +40,33 @@ module Bundler
|
|
38
40
|
def dependencies
|
39
41
|
@dependencies ||= @specs.map do |spec|
|
40
42
|
__dependencies(spec) + metadata_dependencies(spec)
|
41
|
-
end.flatten.uniq
|
43
|
+
end.flatten.uniq.sort
|
44
|
+
end
|
45
|
+
|
46
|
+
def ==(other)
|
47
|
+
sorted_spec_names == other.sorted_spec_names
|
48
|
+
end
|
49
|
+
|
50
|
+
def merge(other)
|
51
|
+
return false unless equivalent?(other)
|
52
|
+
|
53
|
+
@specs |= other.specs
|
54
|
+
|
55
|
+
true
|
42
56
|
end
|
43
57
|
|
44
58
|
protected
|
45
59
|
|
46
60
|
def sorted_spec_names
|
47
|
-
@
|
61
|
+
@specs.map(&:full_name).sort
|
48
62
|
end
|
49
63
|
|
50
64
|
private
|
51
65
|
|
66
|
+
def equivalent?(other)
|
67
|
+
name == other.name && version == other.version && source == other.source && dependencies == other.dependencies
|
68
|
+
end
|
69
|
+
|
52
70
|
def exemplary_spec
|
53
71
|
@specs.first
|
54
72
|
end
|