bundler 2.4.20 → 2.4.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 +55 -3
- data/README.md +1 -2
- data/lib/bundler/build_metadata.rb +3 -3
- data/lib/bundler/cli/check.rb +1 -1
- data/lib/bundler/cli/gem.rb +4 -3
- data/lib/bundler/cli/install.rb +2 -2
- data/lib/bundler/cli/lock.rb +26 -23
- data/lib/bundler/cli/open.rb +5 -7
- data/lib/bundler/definition.rb +43 -26
- data/lib/bundler/endpoint_specification.rb +1 -1
- data/lib/bundler/env.rb +2 -2
- data/lib/bundler/errors.rb +15 -0
- data/lib/bundler/gem_helpers.rb +7 -0
- data/lib/bundler/gem_version_promoter.rb +2 -2
- data/lib/bundler/injector.rb +1 -1
- data/lib/bundler/installer/gem_installer.rb +5 -5
- data/lib/bundler/installer/parallel_installer.rb +0 -26
- data/lib/bundler/installer/standalone.rb +13 -6
- data/lib/bundler/lazy_specification.rb +4 -0
- data/lib/bundler/lockfile_parser.rb +29 -24
- 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 +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 +1 -1
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +2 -2
- data/lib/bundler/man/bundle-exec.1.ronn +2 -3
- data/lib/bundler/man/bundle-gem.1 +1 -1
- 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 +17 -17
- data/lib/bundler/man/bundle-plugin.1.ronn +5 -5
- 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/index.rb +8 -0
- data/lib/bundler/plugin.rb +9 -2
- data/lib/bundler/resolver/package.rb +5 -0
- data/lib/bundler/resolver.rb +27 -7
- data/lib/bundler/ruby_version.rb +8 -1
- data/lib/bundler/rubygems_ext.rb +3 -4
- data/lib/bundler/rubygems_gem_installer.rb +23 -8
- data/lib/bundler/settings.rb +53 -16
- data/lib/bundler/shared_helpers.rb +16 -1
- data/lib/bundler/source/git/git_proxy.rb +21 -4
- data/lib/bundler/source/metadata.rb +1 -1
- data/lib/bundler/spec_set.rb +7 -4
- data/lib/bundler/stub_specification.rb +4 -2
- data/lib/bundler/templates/newgem/Rakefile.tt +6 -2
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/ui/shell.rb +1 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +1 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +21 -9
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +3 -2
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +8 -10
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +15 -4
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +15 -15
- data/lib/bundler/vendor/thor/lib/thor/base.rb +140 -14
- data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -4
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +4 -0
- data/lib/bundler/vendor/thor/lib/thor/error.rb +16 -25
- data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +20 -1
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +33 -17
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +27 -8
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +44 -6
- data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +40 -30
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +26 -150
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +4 -46
- data/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -45
- data/lib/bundler/vendor/thor/lib/thor/shell/lcs_diff.rb +49 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +155 -8
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler/yaml_serializer.rb +12 -8
- data/lib/bundler.rb +0 -8
- metadata +8 -3
@@ -23,13 +23,15 @@ module Bundler
|
|
23
23
|
Gem::Version.create("1.13") => [PLUGIN].freeze,
|
24
24
|
}.freeze
|
25
25
|
|
26
|
-
KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten
|
26
|
+
KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten!.freeze
|
27
27
|
|
28
28
|
ENVIRONMENT_VERSION_SECTIONS = [BUNDLED, RUBY].freeze
|
29
29
|
deprecate_constant(:ENVIRONMENT_VERSION_SECTIONS)
|
30
30
|
|
31
31
|
def self.sections_in_lockfile(lockfile_contents)
|
32
|
-
lockfile_contents.scan(/^\w[\w ]*$/)
|
32
|
+
sections = lockfile_contents.scan(/^\w[\w ]*$/)
|
33
|
+
sections.uniq!
|
34
|
+
sections
|
33
35
|
end
|
34
36
|
|
35
37
|
def self.unknown_sections_in_lockfile(lockfile_contents)
|
@@ -38,7 +40,7 @@ module Bundler
|
|
38
40
|
|
39
41
|
def self.sections_to_ignore(base_version = nil)
|
40
42
|
base_version &&= base_version.release
|
41
|
-
base_version ||= Gem::Version.create("1.0"
|
43
|
+
base_version ||= Gem::Version.create("1.0")
|
42
44
|
attributes = []
|
43
45
|
SECTIONS_BY_VERSION_INTRODUCED.each do |version, introduced|
|
44
46
|
next if version <= base_version
|
@@ -61,36 +63,36 @@ module Bundler
|
|
61
63
|
@platforms = []
|
62
64
|
@sources = []
|
63
65
|
@dependencies = {}
|
64
|
-
@
|
66
|
+
@parse_method = nil
|
65
67
|
@specs = {}
|
66
68
|
|
67
69
|
if lockfile.match?(/<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|/)
|
68
|
-
raise LockfileError, "Your
|
69
|
-
"Run `git checkout HEAD -- #{
|
70
|
+
raise LockfileError, "Your lockfile contains merge conflicts.\n" \
|
71
|
+
"Run `git checkout HEAD -- #{SharedHelpers.relative_lockfile_path}` first to get a clean lock."
|
70
72
|
end
|
71
73
|
|
72
|
-
lockfile.split(/(?:\r?\n)+/)
|
74
|
+
lockfile.split(/(?:\r?\n)+/) do |line|
|
73
75
|
if SOURCE.include?(line)
|
74
|
-
@
|
76
|
+
@parse_method = :parse_source
|
75
77
|
parse_source(line)
|
76
78
|
elsif line == DEPENDENCIES
|
77
|
-
@
|
79
|
+
@parse_method = :parse_dependency
|
78
80
|
elsif line == PLATFORMS
|
79
|
-
@
|
81
|
+
@parse_method = :parse_platform
|
80
82
|
elsif line == RUBY
|
81
|
-
@
|
83
|
+
@parse_method = :parse_ruby
|
82
84
|
elsif line == BUNDLED
|
83
|
-
@
|
85
|
+
@parse_method = :parse_bundled_with
|
84
86
|
elsif /^[^\s]/.match?(line)
|
85
|
-
@
|
86
|
-
elsif @
|
87
|
-
send(
|
87
|
+
@parse_method = nil
|
88
|
+
elsif @parse_method
|
89
|
+
send(@parse_method, line)
|
88
90
|
end
|
89
91
|
end
|
90
|
-
@specs = @specs.values.sort_by(&:full_name)
|
92
|
+
@specs = @specs.values.sort_by!(&:full_name)
|
91
93
|
rescue ArgumentError => e
|
92
94
|
Bundler.ui.debug(e)
|
93
|
-
raise LockfileError, "Your lockfile is unreadable. Run `rm #{
|
95
|
+
raise LockfileError, "Your lockfile is unreadable. Run `rm #{SharedHelpers.relative_lockfile_path}` " \
|
94
96
|
"and then `bundle install` to generate a new lockfile."
|
95
97
|
end
|
96
98
|
|
@@ -149,11 +151,11 @@ module Bundler
|
|
149
151
|
return unless line =~ NAME_VERSION
|
150
152
|
spaces = $1
|
151
153
|
return unless spaces.size == 2
|
152
|
-
name =
|
154
|
+
name = -$2
|
153
155
|
version = $3
|
154
156
|
pinned = $5
|
155
157
|
|
156
|
-
version = version.split(",").
|
158
|
+
version = version.split(",").each(&:strip!) if version
|
157
159
|
|
158
160
|
dep = Bundler::Dependency.new(name, version)
|
159
161
|
|
@@ -177,11 +179,13 @@ module Bundler
|
|
177
179
|
def parse_spec(line)
|
178
180
|
return unless line =~ NAME_VERSION
|
179
181
|
spaces = $1
|
180
|
-
name =
|
182
|
+
name = -$2
|
181
183
|
version = $3
|
182
|
-
platform = $4
|
183
184
|
|
184
185
|
if spaces.size == 4
|
186
|
+
# only load platform for non-dependency (spec) line
|
187
|
+
platform = $4
|
188
|
+
|
185
189
|
version = Gem::Version.new(version)
|
186
190
|
platform = platform ? Gem::Platform.new(platform) : Gem::Platform::RUBY
|
187
191
|
@current_spec = LazySpecification.new(name, version, platform)
|
@@ -190,7 +194,7 @@ module Bundler
|
|
190
194
|
|
191
195
|
@specs[@current_spec.full_name] = @current_spec
|
192
196
|
elsif spaces.size == 6
|
193
|
-
version = version.split(",").
|
197
|
+
version = version.split(",").each(&:strip!) if version
|
194
198
|
dep = Gem::Dependency.new(name, version)
|
195
199
|
@current_spec.dependencies << dep
|
196
200
|
end
|
@@ -201,13 +205,14 @@ module Bundler
|
|
201
205
|
end
|
202
206
|
|
203
207
|
def parse_bundled_with(line)
|
204
|
-
line
|
208
|
+
line.strip!
|
205
209
|
return unless Gem::Version.correct?(line)
|
206
210
|
@bundler_version = Gem::Version.create(line)
|
207
211
|
end
|
208
212
|
|
209
213
|
def parse_ruby(line)
|
210
|
-
|
214
|
+
line.strip!
|
215
|
+
@ruby_version = line
|
211
216
|
end
|
212
217
|
end
|
213
218
|
end
|
@@ -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\-BINSTUBS" "1" "
|
4
|
+
.TH "BUNDLE\-BINSTUBS" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
@@ -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\-CACHE" "1" "
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
@@ -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\-CHECK" "1" "
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
@@ -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\-CLEAN" "1" "
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler 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\-CONSOLE" "1" "
|
4
|
+
.TH "BUNDLE\-CONSOLE" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
@@ -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\-EXEC" "1" "
|
4
|
+
.TH "BUNDLE\-EXEC" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
|
@@ -22,7 +22,7 @@ Note that \fBbundle exec\fR does not require that an executable is available on
|
|
22
22
|
.
|
23
23
|
.TP
|
24
24
|
\fB\-\-keep\-file\-descriptors\fR
|
25
|
-
|
25
|
+
Passes all file descriptors to the new processes\. Default is true from bundler version 2\.2\.26\. Setting it to false is now deprecated\.
|
26
26
|
.
|
27
27
|
.SH "BUNDLE INSTALL \-\-BINSTUBS"
|
28
28
|
If you use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR, Bundler will automatically create a directory (which defaults to \fBapp_root/bin\fR) containing all of the executables available from gems in the bundle\.
|
@@ -21,9 +21,8 @@ available on your shell's `$PATH`.
|
|
21
21
|
## OPTIONS
|
22
22
|
|
23
23
|
* `--keep-file-descriptors`:
|
24
|
-
|
25
|
-
|
26
|
-
descriptors to the new process.
|
24
|
+
Passes all file descriptors to the new processes. Default is true from
|
25
|
+
bundler version 2.2.26. Setting it to false is now deprecated.
|
27
26
|
|
28
27
|
## BUNDLE INSTALL --BINSTUBS
|
29
28
|
|
@@ -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" "October 2023" "" ""
|
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" "October 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" "October 2023" "" ""
|
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" "October 2023" "" ""
|
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" "October 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" "October 2023" "" ""
|
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\-PLUGIN" "1" "
|
4
|
+
.TH "BUNDLE\-PLUGIN" "1" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-plugin\fR \- Manage Bundler plugins
|
@@ -26,37 +26,37 @@ You can install, uninstall, and list plugin(s) with this command to extend funct
|
|
26
26
|
.SS "install"
|
27
27
|
Install the given plugin(s)\.
|
28
28
|
.
|
29
|
-
.
|
30
|
-
\fBbundle plugin install bundler\-graph\fR
|
29
|
+
.TP
|
30
|
+
\fBbundle plugin install bundler\-graph\fR
|
31
|
+
Install bundler\-graph gem from globally configured sources (defaults to RubyGems\.org)\. The global source, specified in source in Gemfile is ignored\.
|
31
32
|
.
|
32
|
-
.
|
33
|
-
\fBbundle plugin install bundler\-graph \-\-source https://example\.com\fR
|
33
|
+
.TP
|
34
|
+
\fBbundle plugin install bundler\-graph \-\-source https://example\.com\fR
|
35
|
+
Install bundler\-graph gem from example\.com\. The global source, specified in source in Gemfile is not considered\.
|
34
36
|
.
|
35
|
-
.
|
36
|
-
\fBbundle plugin install bundler\-graph \-\-version 0\.2\.1\fR
|
37
|
+
.TP
|
38
|
+
\fBbundle plugin install bundler\-graph \-\-version 0\.2\.1\fR
|
39
|
+
You can specify the version of the gem via \fB\-\-version\fR\.
|
37
40
|
.
|
38
|
-
.
|
39
|
-
\fBbundle plugin install bundler\-graph \-\-git https://github\.com/rubygems/bundler\-graph\fR
|
41
|
+
.TP
|
42
|
+
\fBbundle plugin install bundler\-graph \-\-git https://github\.com/rubygems/bundler\-graph\fR
|
43
|
+
Install bundler\-graph gem from Git repository\. \fB\-\-git\fR can be replaced with \fB\-\-local\-git\fR\. You cannot use both \fB\-\-git\fR and \fB\-\-local\-git\fR\. You can use standard Git URLs like:
|
40
44
|
.
|
41
|
-
.IP
|
45
|
+
.IP
|
42
46
|
\fBssh://[user@]host\.xz[:port]/path/to/repo\.git\fR
|
43
47
|
.
|
44
|
-
.
|
48
|
+
.br
|
45
49
|
\fBhttp[s]://host\.xz[:port]/path/to/repo\.git\fR
|
46
50
|
.
|
47
|
-
.
|
51
|
+
.br
|
48
52
|
\fB/path/to/repo\fR
|
49
53
|
.
|
50
|
-
.
|
54
|
+
.br
|
51
55
|
\fBfile:///path/to/repo\fR
|
52
56
|
.
|
53
|
-
.IP "" 0
|
54
|
-
.
|
55
57
|
.IP
|
56
58
|
When you specify \fB\-\-git\fR/\fB\-\-local\-git\fR, you can use \fB\-\-branch\fR or \fB\-\-ref\fR to specify any branch, tag, or commit hash (revision) to use\. When you specify both, only the latter is used\.
|
57
59
|
.
|
58
|
-
.IP "" 0
|
59
|
-
.
|
60
60
|
.SS "uninstall"
|
61
61
|
Uninstall the plugin(s) specified in PLUGINS\.
|
62
62
|
.
|
@@ -20,7 +20,7 @@ You can install, uninstall, and list plugin(s) with this command to extend funct
|
|
20
20
|
Install the given plugin(s).
|
21
21
|
|
22
22
|
* `bundle plugin install bundler-graph`:
|
23
|
-
Install bundler-graph gem from RubyGems.org. The global source, specified in source in Gemfile is ignored.
|
23
|
+
Install bundler-graph gem from globally configured sources (defaults to RubyGems.org). The global source, specified in source in Gemfile is ignored.
|
24
24
|
|
25
25
|
* `bundle plugin install bundler-graph --source https://example.com`:
|
26
26
|
Install bundler-graph gem from example.com. The global source, specified in source in Gemfile is not considered.
|
@@ -31,10 +31,10 @@ Install the given plugin(s).
|
|
31
31
|
* `bundle plugin install bundler-graph --git https://github.com/rubygems/bundler-graph`:
|
32
32
|
Install bundler-graph gem from Git repository. `--git` can be replaced with `--local-git`. You cannot use both `--git` and `--local-git`. You can use standard Git URLs like:
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
`ssh://[user@]host.xz[:port]/path/to/repo.git`<br>
|
35
|
+
`http[s]://host.xz[:port]/path/to/repo.git`<br>
|
36
|
+
`/path/to/repo`<br>
|
37
|
+
`file:///path/to/repo`
|
38
38
|
|
39
39
|
When you specify `--git`/`--local-git`, you can use `--branch` or `--ref` to specify any branch, tag, or commit hash (revision) to use. When you specify both, only the latter is used.
|
40
40
|
|
@@ -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" "October 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" "October 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" "October 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
data/lib/bundler/plugin/index.rb
CHANGED
@@ -136,6 +136,14 @@ module Bundler
|
|
136
136
|
@hooks[event] || []
|
137
137
|
end
|
138
138
|
|
139
|
+
# This plugin is installed inside the .bundle/plugin directory,
|
140
|
+
# and thus is managed solely by Bundler
|
141
|
+
def installed_in_plugin_root?(name)
|
142
|
+
return false unless (path = installed?(name))
|
143
|
+
|
144
|
+
path.start_with?("#{Plugin.root}/")
|
145
|
+
end
|
146
|
+
|
139
147
|
private
|
140
148
|
|
141
149
|
# Reads the index file from the directory and initializes the instance
|
data/lib/bundler/plugin.rb
CHANGED
@@ -62,7 +62,8 @@ module Bundler
|
|
62
62
|
if names.any?
|
63
63
|
names.each do |name|
|
64
64
|
if index.installed?(name)
|
65
|
-
|
65
|
+
path = index.plugin_path(name).to_s
|
66
|
+
Bundler.rm_rf(path) if index.installed_in_plugin_root?(name)
|
66
67
|
index.unregister_plugin(name)
|
67
68
|
Bundler.ui.info "Uninstalled plugin #{name}"
|
68
69
|
else
|
@@ -227,7 +228,7 @@ module Bundler
|
|
227
228
|
plugins = index.hook_plugins(event)
|
228
229
|
return unless plugins.any?
|
229
230
|
|
230
|
-
|
231
|
+
plugins.each {|name| load_plugin(name) }
|
231
232
|
|
232
233
|
@hooks_by_event[event].each {|blk| blk.call(*args, &arg_blk) }
|
233
234
|
end
|
@@ -239,6 +240,11 @@ module Bundler
|
|
239
240
|
Index.new.installed?(plugin)
|
240
241
|
end
|
241
242
|
|
243
|
+
# @return [true, false] whether the plugin is loaded
|
244
|
+
def loaded?(plugin)
|
245
|
+
@loaded_plugin_names.include?(plugin)
|
246
|
+
end
|
247
|
+
|
242
248
|
# Post installation processing and registering with index
|
243
249
|
#
|
244
250
|
# @param [Array<String>] plugins list to be installed
|
@@ -329,6 +335,7 @@ module Bundler
|
|
329
335
|
# @param [String] name of the plugin
|
330
336
|
def load_plugin(name)
|
331
337
|
return unless name && !name.empty?
|
338
|
+
return if loaded?(name)
|
332
339
|
|
333
340
|
# Need to ensure before this that plugin root where the rest of gems
|
334
341
|
# are installed to be on load path to support plugin deps. Currently not
|
@@ -21,6 +21,7 @@ module Bundler
|
|
21
21
|
@locked_version = locked_specs[name].first&.version
|
22
22
|
@unlock = unlock
|
23
23
|
@dependency = dependency || Dependency.new(name, @locked_version)
|
24
|
+
@top_level = !dependency.nil?
|
24
25
|
@prerelease = @dependency.prerelease? || @locked_version&.prerelease? || prerelease ? :consider_first : :ignore
|
25
26
|
end
|
26
27
|
|
@@ -32,6 +33,10 @@ module Bundler
|
|
32
33
|
false
|
33
34
|
end
|
34
35
|
|
36
|
+
def top_level?
|
37
|
+
@top_level
|
38
|
+
end
|
39
|
+
|
35
40
|
def meta?
|
36
41
|
@name.end_with?("\0")
|
37
42
|
end
|