bundler 2.5.9 → 2.5.17
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/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
|