bundler 2.3.26 → 2.4.13
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 +228 -1
- data/README.md +3 -6
- data/bundler.gemspec +2 -2
- data/exe/bundle +1 -4
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/add.rb +1 -1
- data/lib/bundler/cli/binstubs.rb +5 -1
- data/lib/bundler/cli/check.rb +1 -1
- data/lib/bundler/cli/common.rb +1 -0
- data/lib/bundler/cli/console.rb +2 -2
- data/lib/bundler/cli/doctor.rb +4 -6
- data/lib/bundler/cli/gem.rb +62 -40
- data/lib/bundler/cli/init.rb +2 -2
- data/lib/bundler/cli/install.rb +2 -3
- data/lib/bundler/cli/lock.rb +8 -5
- data/lib/bundler/cli/open.rb +6 -4
- data/lib/bundler/cli/outdated.rb +1 -3
- data/lib/bundler/cli/viz.rb +1 -1
- data/lib/bundler/cli.rb +45 -2
- data/lib/bundler/compact_index_client/cache.rb +1 -1
- data/lib/bundler/compact_index_client/updater.rb +40 -39
- data/lib/bundler/constants.rb +1 -1
- data/lib/bundler/current_ruby.rb +2 -0
- data/lib/bundler/definition.rb +99 -51
- data/lib/bundler/dependency.rb +13 -12
- data/lib/bundler/digest.rb +1 -1
- data/lib/bundler/dsl.rb +3 -3
- data/lib/bundler/endpoint_specification.rb +0 -4
- data/lib/bundler/env.rb +1 -1
- data/lib/bundler/environment_preserver.rb +3 -2
- data/lib/bundler/errors.rb +1 -11
- data/lib/bundler/fetcher/compact_index.rb +9 -11
- data/lib/bundler/fetcher/dependency.rb +2 -6
- data/lib/bundler/fetcher/downloader.rb +2 -5
- data/lib/bundler/fetcher.rb +4 -8
- data/lib/bundler/force_platform.rb +18 -0
- data/lib/bundler/friendly_errors.rb +0 -3
- data/lib/bundler/gem_version_promoter.rb +52 -86
- data/lib/bundler/graph.rb +3 -3
- data/lib/bundler/index.rb +7 -15
- data/lib/bundler/injector.rb +2 -2
- data/lib/bundler/inline.rb +8 -10
- data/lib/bundler/installer/parallel_installer.rb +3 -33
- data/lib/bundler/installer/standalone.rb +12 -8
- data/lib/bundler/installer.rb +9 -23
- data/lib/bundler/lazy_specification.rb +42 -42
- data/lib/bundler/lockfile_generator.rb +1 -1
- data/lib/bundler/lockfile_parser.rb +16 -16
- 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 +3 -3
- data/lib/bundler/man/bundle-cache.1.ronn +2 -2
- 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 +2 -2
- data/lib/bundler/man/bundle-config.1.ronn +1 -1
- 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 +5 -5
- data/lib/bundler/man/bundle-exec.1.ronn +5 -5
- data/lib/bundler/man/bundle-gem.1 +27 -37
- data/lib/bundler/man/bundle-gem.1.ronn +5 -5
- 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 +5 -1
- data/lib/bundler/man/bundle-init.1.ronn +2 -0
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -30
- data/lib/bundler/man/bundle-install.1.ronn +0 -29
- 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 +22 -2
- data/lib/bundler/man/bundle-open.1.ronn +9 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +2 -2
- data/lib/bundler/man/bundle-platform.1.ronn +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/mirror.rb +5 -7
- data/lib/bundler/plugin/index.rb +4 -4
- data/lib/bundler/plugin/installer/rubygems.rb +0 -4
- data/lib/bundler/plugin/installer.rb +5 -2
- data/lib/bundler/plugin.rb +1 -1
- data/lib/bundler/remote_specification.rb +2 -6
- data/lib/bundler/resolver/base.rb +72 -15
- data/lib/bundler/resolver/candidate.rb +94 -0
- data/lib/bundler/resolver/incompatibility.rb +15 -0
- data/lib/bundler/resolver/package.rb +72 -0
- data/lib/bundler/resolver/root.rb +25 -0
- data/lib/bundler/resolver/spec_group.rb +26 -36
- data/lib/bundler/resolver.rb +311 -278
- data/lib/bundler/ruby_version.rb +1 -1
- data/lib/bundler/rubygems_ext.rb +16 -9
- data/lib/bundler/rubygems_gem_installer.rb +4 -2
- data/lib/bundler/rubygems_integration.rb +10 -14
- data/lib/bundler/runtime.rb +1 -5
- data/lib/bundler/safe_marshal.rb +31 -0
- data/lib/bundler/settings.rb +1 -7
- data/lib/bundler/setup.rb +4 -1
- data/lib/bundler/shared_helpers.rb +2 -1
- data/lib/bundler/source/git/git_proxy.rb +214 -69
- data/lib/bundler/source/git.rb +17 -18
- data/lib/bundler/source/metadata.rb +0 -1
- data/lib/bundler/source/path/installer.rb +1 -22
- data/lib/bundler/source/path.rb +6 -6
- data/lib/bundler/source/rubygems.rb +19 -77
- data/lib/bundler/source_list.rb +8 -2
- data/lib/bundler/spec_set.rb +22 -14
- data/lib/bundler/templates/Executable +1 -1
- data/lib/bundler/templates/Executable.bundler +5 -10
- data/lib/bundler/templates/Executable.standalone +2 -0
- data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +3 -0
- data/lib/bundler/templates/newgem/README.md.tt +6 -4
- data/lib/bundler/templates/newgem/Rakefile.tt +12 -1
- data/lib/bundler/templates/newgem/bin/console.tt +0 -4
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
- data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
- data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
- data/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +8 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
- data/lib/bundler/ui/shell.rb +35 -12
- data/lib/bundler/ui/silent.rb +21 -5
- data/lib/bundler/uri_normalizer.rb +23 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
- data/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
- data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
- data/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
- data/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
- data/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
- data/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri.rb +3 -2
- data/lib/bundler/vendored_persistent.rb +1 -33
- data/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
- data/lib/bundler/version.rb +5 -1
- data/lib/bundler/worker.rb +5 -7
- data/lib/bundler.rb +17 -69
- metadata +35 -33
- data/lib/bundler/templates/gems.rb +0 -5
- data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
- data/lib/bundler/templates/newgem/travis.yml.tt +0 -6
- data/lib/bundler/vendor/molinillo/LICENSE +0 -9
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
- data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
- data/lib/bundler/vendored_molinillo.rb +0 -4
- data/lib/bundler/version_ranges.rb +0 -122
|
@@ -41,12 +41,12 @@ configuration file using the following names:
|
|
|
41
41
|
Do not create a `CODE_OF_CONDUCT.md` (overrides `--coc` specified in the
|
|
42
42
|
global config).
|
|
43
43
|
|
|
44
|
-
* `--ext
|
|
45
|
-
Add boilerplate for C extension code to the generated project. This behavior
|
|
44
|
+
* `--ext=c`, `--ext=rust`
|
|
45
|
+
Add boilerplate for C or Rust (currently [magnus](https://docs.rs/magnus) based) extension code to the generated project. This behavior
|
|
46
46
|
is disabled by default.
|
|
47
47
|
|
|
48
48
|
* `--no-ext`:
|
|
49
|
-
Do not add
|
|
49
|
+
Do not add extension code (overrides `--ext` specified in the global
|
|
50
50
|
config).
|
|
51
51
|
|
|
52
52
|
* `--mit`:
|
|
@@ -76,9 +76,9 @@ 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
|
-
* `--ci`, `--ci=github`, `--ci=
|
|
79
|
+
* `--ci`, `--ci=github`, `--ci=gitlab`, `--ci=circle`:
|
|
80
80
|
Specify the continuous integration service that Bundler should use when
|
|
81
|
-
generating the project. Acceptable values are `github`, `
|
|
81
|
+
generating the project. Acceptable values are `github`, `gitlab`
|
|
82
82
|
and `circle`. A configuration file will be generated in the project directory.
|
|
83
83
|
Given no option is specified:
|
|
84
84
|
|
|
@@ -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" "February 2023" "" ""
|
|
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" "February 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
|
@@ -18,6 +18,10 @@ Init generates a default [\fBGemfile(5)\fR][Gemfile(5)] in the current working d
|
|
|
18
18
|
\fB\-\-gemspec\fR
|
|
19
19
|
Use the specified \.gemspec to create the [\fBGemfile(5)\fR][Gemfile(5)]
|
|
20
20
|
.
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-\-gemfile\fR
|
|
23
|
+
Use the specified name for the gemfile instead of \fBGemfile\fR
|
|
24
|
+
.
|
|
21
25
|
.SH "FILES"
|
|
22
26
|
Included in the default [\fBGemfile(5)\fR][Gemfile(5)] generated is the line \fB# frozen_string_literal: true\fR\. This is a magic comment supported for the first time in Ruby 2\.3\. The presence of this line results in all string literals in the file being implicitly frozen\.
|
|
23
27
|
.
|
|
@@ -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" "February 2023" "" ""
|
|
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" "February 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
|
@@ -170,35 +170,6 @@ As a result, \fBbundle install \-\-deployment\fR installs gems to the \fBvendor/
|
|
|
170
170
|
.
|
|
171
171
|
.IP "" 0
|
|
172
172
|
.
|
|
173
|
-
.SH "SUDO USAGE"
|
|
174
|
-
By default, Bundler installs gems to the same location as \fBgem install\fR\.
|
|
175
|
-
.
|
|
176
|
-
.P
|
|
177
|
-
In some cases, that location may not be writable by your Unix user\. In that case, Bundler will stage everything in a temporary directory, then ask you for your \fBsudo\fR password in order to copy the gems into their system location\.
|
|
178
|
-
.
|
|
179
|
-
.P
|
|
180
|
-
From your perspective, this is identical to installing the gems directly into the system\.
|
|
181
|
-
.
|
|
182
|
-
.P
|
|
183
|
-
You should never use \fBsudo bundle install\fR\. This is because several other steps in \fBbundle install\fR must be performed as the current user:
|
|
184
|
-
.
|
|
185
|
-
.IP "\(bu" 4
|
|
186
|
-
Updating your \fBGemfile\.lock\fR
|
|
187
|
-
.
|
|
188
|
-
.IP "\(bu" 4
|
|
189
|
-
Updating your \fBvendor/cache\fR, if necessary
|
|
190
|
-
.
|
|
191
|
-
.IP "\(bu" 4
|
|
192
|
-
Checking out private git repositories using your user\'s SSH keys
|
|
193
|
-
.
|
|
194
|
-
.IP "" 0
|
|
195
|
-
.
|
|
196
|
-
.P
|
|
197
|
-
Of these three, the first two could theoretically be performed by \fBchown\fRing the resulting files to \fB$SUDO_USER\fR\. The third, however, can only be performed by invoking the \fBgit\fR command as the current user\. Therefore, git gems are downloaded and installed into \fB~/\.bundle\fR rather than $GEM_HOME or $BUNDLE_PATH\.
|
|
198
|
-
.
|
|
199
|
-
.P
|
|
200
|
-
As a result, you should run \fBbundle install\fR as the current user, and Bundler will ask for your password if it is needed to put the gems into their final location\.
|
|
201
|
-
.
|
|
202
173
|
.SH "INSTALLING GROUPS"
|
|
203
174
|
By default, \fBbundle install\fR will install all gems in all groups in your Gemfile(5), except those declared for a different platform\.
|
|
204
175
|
.
|
|
@@ -224,35 +224,6 @@ will cause an error when the Gemfile(5) is modified.
|
|
|
224
224
|
the `vendor/bundle` directory in the application. This may be
|
|
225
225
|
overridden using the `--path` option.
|
|
226
226
|
|
|
227
|
-
## SUDO USAGE
|
|
228
|
-
|
|
229
|
-
By default, Bundler installs gems to the same location as `gem install`.
|
|
230
|
-
|
|
231
|
-
In some cases, that location may not be writable by your Unix user. In
|
|
232
|
-
that case, Bundler will stage everything in a temporary directory,
|
|
233
|
-
then ask you for your `sudo` password in order to copy the gems into
|
|
234
|
-
their system location.
|
|
235
|
-
|
|
236
|
-
From your perspective, this is identical to installing the gems
|
|
237
|
-
directly into the system.
|
|
238
|
-
|
|
239
|
-
You should never use `sudo bundle install`. This is because several
|
|
240
|
-
other steps in `bundle install` must be performed as the current user:
|
|
241
|
-
|
|
242
|
-
* Updating your `Gemfile.lock`
|
|
243
|
-
* Updating your `vendor/cache`, if necessary
|
|
244
|
-
* Checking out private git repositories using your user's SSH keys
|
|
245
|
-
|
|
246
|
-
Of these three, the first two could theoretically be performed by
|
|
247
|
-
`chown`ing the resulting files to `$SUDO_USER`. The third, however,
|
|
248
|
-
can only be performed by invoking the `git` command as
|
|
249
|
-
the current user. Therefore, git gems are downloaded and installed
|
|
250
|
-
into `~/.bundle` rather than $GEM_HOME or $BUNDLE_PATH.
|
|
251
|
-
|
|
252
|
-
As a result, you should run `bundle install` as the current user,
|
|
253
|
-
and Bundler will ask for your password if it is needed to put the
|
|
254
|
-
gems into their final location.
|
|
255
|
-
|
|
256
227
|
## INSTALLING GROUPS
|
|
257
228
|
|
|
258
229
|
By default, `bundle install` will install all gems in all groups
|
|
@@ -1,13 +1,13 @@
|
|
|
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" "February 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
|
8
8
|
.
|
|
9
9
|
.SH "SYNOPSIS"
|
|
10
|
-
\fBbundle open\fR [GEM]
|
|
10
|
+
\fBbundle open\fR [GEM] [\-\-path=PATH]
|
|
11
11
|
.
|
|
12
12
|
.SH "DESCRIPTION"
|
|
13
13
|
Opens the source directory of the provided GEM in your editor\.
|
|
@@ -30,3 +30,23 @@ bundle open \'rack\'
|
|
|
30
30
|
.
|
|
31
31
|
.P
|
|
32
32
|
Will open the source directory for the \'rack\' gem in your bundle\.
|
|
33
|
+
.
|
|
34
|
+
.IP "" 4
|
|
35
|
+
.
|
|
36
|
+
.nf
|
|
37
|
+
|
|
38
|
+
bundle open \'rack\' \-\-path \'README\.md\'
|
|
39
|
+
.
|
|
40
|
+
.fi
|
|
41
|
+
.
|
|
42
|
+
.IP "" 0
|
|
43
|
+
.
|
|
44
|
+
.P
|
|
45
|
+
Will open the README\.md file of the \'rack\' gem source in your bundle\.
|
|
46
|
+
.
|
|
47
|
+
.SH "OPTIONS"
|
|
48
|
+
.
|
|
49
|
+
.TP
|
|
50
|
+
\fB\-\-path\fR
|
|
51
|
+
Specify GEM source relative path to open\.
|
|
52
|
+
|
|
@@ -3,7 +3,7 @@ bundle-open(1) -- Opens the source directory for a gem in your bundle
|
|
|
3
3
|
|
|
4
4
|
## SYNOPSIS
|
|
5
5
|
|
|
6
|
-
`bundle open` [GEM]
|
|
6
|
+
`bundle open` [GEM] [--path=PATH]
|
|
7
7
|
|
|
8
8
|
## DESCRIPTION
|
|
9
9
|
|
|
@@ -17,3 +17,11 @@ Example:
|
|
|
17
17
|
bundle open 'rack'
|
|
18
18
|
|
|
19
19
|
Will open the source directory for the 'rack' gem in your bundle.
|
|
20
|
+
|
|
21
|
+
bundle open 'rack' --path 'README.md'
|
|
22
|
+
|
|
23
|
+
Will open the README.md file of the 'rack' gem source in your bundle.
|
|
24
|
+
|
|
25
|
+
## OPTIONS
|
|
26
|
+
* `--path`:
|
|
27
|
+
Specify GEM source relative path to open.
|
|
@@ -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" "February 2023" "" ""
|
|
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" "February 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
|
@@ -65,7 +65,7 @@ It will display the ruby directive information, so you don\'t have to parse it f
|
|
|
65
65
|
.SH "SEE ALSO"
|
|
66
66
|
.
|
|
67
67
|
.IP "\(bu" 4
|
|
68
|
-
bundle\-lock(1) \fIbundle\-lock\.1\.
|
|
68
|
+
bundle\-lock(1) \fIbundle\-lock\.1\.html\fR
|
|
69
69
|
.
|
|
70
70
|
.IP "" 0
|
|
71
71
|
|
|
@@ -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" "February 2023" "" ""
|
|
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" "February 2023" "" ""
|
|
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" "February 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
|
@@ -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" "February 2023" "" ""
|
|
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
data/lib/bundler/man/gemfile.5
CHANGED
data/lib/bundler/mirror.rb
CHANGED
|
@@ -148,13 +148,11 @@ module Bundler
|
|
|
148
148
|
class TCPSocketProbe
|
|
149
149
|
def replies?(mirror)
|
|
150
150
|
MirrorSockets.new(mirror).any? do |socket, address, timeout|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
false
|
|
157
|
-
end
|
|
151
|
+
socket.connect_nonblock(address)
|
|
152
|
+
rescue Errno::EINPROGRESS
|
|
153
|
+
wait_for_writtable_socket(socket, address, timeout)
|
|
154
|
+
rescue RuntimeError # Connection failed somehow, again
|
|
155
|
+
false
|
|
158
156
|
end
|
|
159
157
|
end
|
|
160
158
|
|
data/lib/bundler/plugin/index.rb
CHANGED
|
@@ -167,11 +167,11 @@ module Bundler
|
|
|
167
167
|
# to be only String key value pairs)
|
|
168
168
|
def save_index
|
|
169
169
|
index = {
|
|
170
|
-
"commands"
|
|
171
|
-
"hooks"
|
|
172
|
-
"load_paths"
|
|
170
|
+
"commands" => @commands,
|
|
171
|
+
"hooks" => @hooks,
|
|
172
|
+
"load_paths" => @load_paths,
|
|
173
173
|
"plugin_paths" => @plugin_paths,
|
|
174
|
-
"sources"
|
|
174
|
+
"sources" => @sources,
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
require_relative "../yaml_serializer"
|
|
@@ -83,8 +83,11 @@ module Bundler
|
|
|
83
83
|
|
|
84
84
|
Bundler.configure_gem_home_and_path(Plugin.root)
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
Bundler.settings.temporary(:deployment => false, :frozen => false) do
|
|
87
|
+
definition = Definition.new(nil, deps, source_list, true)
|
|
88
|
+
|
|
89
|
+
install_definition(definition)
|
|
90
|
+
end
|
|
88
91
|
end
|
|
89
92
|
|
|
90
93
|
# Installs the plugins and deps from the provided specs and returns map of
|
data/lib/bundler/plugin.rb
CHANGED
|
@@ -29,12 +29,8 @@ module Bundler
|
|
|
29
29
|
@platform = _remote_specification.platform
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
def identifier
|
|
33
|
-
@__identifier ||= [name, version, @platform.to_s]
|
|
34
|
-
end
|
|
35
|
-
|
|
36
32
|
def full_name
|
|
37
|
-
if @platform == Gem::Platform::RUBY
|
|
33
|
+
@full_name ||= if @platform == Gem::Platform::RUBY
|
|
38
34
|
"#{@name}-#{@version}"
|
|
39
35
|
else
|
|
40
36
|
"#{@name}-#{@version}-#{@platform}"
|
|
@@ -106,7 +102,7 @@ module Bundler
|
|
|
106
102
|
def _remote_specification
|
|
107
103
|
@_remote_specification ||= @spec_fetcher.fetch_spec([@name, @version, @original_platform])
|
|
108
104
|
@_remote_specification || raise(GemspecError, "Gemspec data for #{full_name} was" \
|
|
109
|
-
" missing from the server!
|
|
105
|
+
" missing from the server!")
|
|
110
106
|
end
|
|
111
107
|
|
|
112
108
|
def method_missing(method, *args, &blk)
|
|
@@ -1,48 +1,105 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "package"
|
|
4
|
+
|
|
3
5
|
module Bundler
|
|
4
6
|
class Resolver
|
|
5
7
|
class Base
|
|
6
|
-
|
|
8
|
+
attr_reader :packages, :requirements, :source_requirements
|
|
9
|
+
|
|
10
|
+
def initialize(source_requirements, dependencies, base, platforms, options)
|
|
11
|
+
@source_requirements = source_requirements
|
|
12
|
+
|
|
7
13
|
@base = base
|
|
8
|
-
|
|
14
|
+
|
|
15
|
+
@packages = Hash.new do |hash, name|
|
|
16
|
+
hash[name] = Package.new(name, platforms, **options)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
@requirements = dependencies.map do |dep|
|
|
20
|
+
dep_platforms = dep.gem_platforms(platforms)
|
|
21
|
+
|
|
22
|
+
# Dependencies scoped to external platforms are ignored
|
|
23
|
+
next if dep_platforms.empty?
|
|
24
|
+
|
|
25
|
+
name = dep.name
|
|
26
|
+
|
|
27
|
+
@packages[name] = Package.new(name, dep_platforms, **options.merge(:dependency => dep))
|
|
28
|
+
|
|
29
|
+
dep
|
|
30
|
+
end.compact
|
|
9
31
|
end
|
|
10
32
|
|
|
11
33
|
def [](name)
|
|
12
34
|
@base[name]
|
|
13
35
|
end
|
|
14
36
|
|
|
15
|
-
def delete(
|
|
16
|
-
@base.delete(
|
|
37
|
+
def delete(specs)
|
|
38
|
+
@base.delete(specs)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def get_package(name)
|
|
42
|
+
@packages[name]
|
|
17
43
|
end
|
|
18
44
|
|
|
19
45
|
def base_requirements
|
|
20
46
|
@base_requirements ||= build_base_requirements
|
|
21
47
|
end
|
|
22
48
|
|
|
23
|
-
def
|
|
24
|
-
|
|
49
|
+
def unlock_names(names)
|
|
50
|
+
indirect_pins = indirect_pins(names)
|
|
25
51
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
52
|
+
if indirect_pins.any?
|
|
53
|
+
loosen_names(indirect_pins)
|
|
54
|
+
else
|
|
55
|
+
pins = pins(names)
|
|
29
56
|
|
|
30
|
-
|
|
31
|
-
|
|
57
|
+
if pins.any?
|
|
58
|
+
loosen_names(pins)
|
|
59
|
+
else
|
|
60
|
+
unrestrict_names(names)
|
|
61
|
+
end
|
|
32
62
|
end
|
|
63
|
+
end
|
|
33
64
|
|
|
34
|
-
|
|
65
|
+
def include_prereleases(names)
|
|
66
|
+
names.each do |name|
|
|
67
|
+
get_package(name).consider_prereleases!
|
|
68
|
+
end
|
|
35
69
|
end
|
|
36
70
|
|
|
37
71
|
private
|
|
38
72
|
|
|
73
|
+
def indirect_pins(names)
|
|
74
|
+
names.select {|name| @base_requirements[name].exact? && @requirements.none? {|dep| dep.name == name } }
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def pins(names)
|
|
78
|
+
names.select {|name| @base_requirements[name].exact? }
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def loosen_names(names)
|
|
82
|
+
names.each do |name|
|
|
83
|
+
version = @base_requirements[name].requirements.first[1]
|
|
84
|
+
|
|
85
|
+
@base_requirements[name] = Gem::Requirement.new(">= #{version}")
|
|
86
|
+
|
|
87
|
+
@base.delete_by_name(name)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def unrestrict_names(names)
|
|
92
|
+
names.each do |name|
|
|
93
|
+
@base_requirements.delete(name)
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
39
97
|
def build_base_requirements
|
|
40
98
|
base_requirements = {}
|
|
41
99
|
@base.each do |ls|
|
|
42
|
-
|
|
43
|
-
base_requirements[ls.name] =
|
|
100
|
+
req = Gem::Requirement.new(ls.version)
|
|
101
|
+
base_requirements[ls.name] = req
|
|
44
102
|
end
|
|
45
|
-
@additional_base_requirements.each {|d| base_requirements[d.name] = d }
|
|
46
103
|
base_requirements
|
|
47
104
|
end
|
|
48
105
|
end
|