bundler 2.3.10 → 2.3.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -0
- data/exe/bundler +1 -1
- data/lib/bundler/build_metadata.rb +3 -3
- data/lib/bundler/cli/cache.rb +1 -1
- data/lib/bundler/cli/common.rb +1 -1
- data/lib/bundler/cli/info.rb +1 -1
- data/lib/bundler/cli/init.rb +1 -1
- data/lib/bundler/cli/install.rb +0 -2
- data/lib/bundler/cli/show.rb +1 -1
- data/lib/bundler/cli.rb +3 -7
- data/lib/bundler/current_ruby.rb +1 -0
- data/lib/bundler/definition.rb +29 -46
- data/lib/bundler/dependency.rb +20 -0
- data/lib/bundler/dsl.rb +7 -11
- data/lib/bundler/endpoint_specification.rb +4 -1
- data/lib/bundler/errors.rb +14 -4
- data/lib/bundler/fetcher/base.rb +6 -8
- data/lib/bundler/fetcher.rb +4 -0
- data/lib/bundler/friendly_errors.rb +16 -2
- data/lib/bundler/gem_helpers.rb +1 -1
- data/lib/bundler/injector.rb +4 -0
- data/lib/bundler/inline.rb +1 -11
- data/lib/bundler/installer/gem_installer.rb +14 -1
- data/lib/bundler/installer.rb +4 -13
- data/lib/bundler/lazy_specification.rb +1 -1
- data/lib/bundler/man/bundle-add.1 +7 -3
- data/lib/bundler/man/bundle-add.1.ronn +5 -2
- 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 +4 -4
- data/lib/bundler/man/bundle-config.1.ronn +8 -6
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +1 -1
- data/lib/bundler/man/bundle-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-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-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 +3 -3
- data/lib/bundler/plugin/installer/git.rb +0 -4
- data/lib/bundler/plugin/installer/rubygems.rb +0 -4
- data/lib/bundler/process_lock.rb +1 -1
- data/lib/bundler/resolver/spec_group.rb +2 -2
- data/lib/bundler/resolver.rb +73 -43
- data/lib/bundler/ruby_version.rb +0 -13
- data/lib/bundler/rubygems_ext.rb +18 -1
- data/lib/bundler/rubygems_gem_installer.rb +11 -8
- data/lib/bundler/rubygems_integration.rb +3 -21
- data/lib/bundler/settings.rb +1 -1
- data/lib/bundler/shared_helpers.rb +9 -9
- data/lib/bundler/source/git.rb +7 -9
- data/lib/bundler/source/metadata.rb +2 -2
- data/lib/bundler/source/path.rb +1 -1
- data/lib/bundler/source/rubygems.rb +90 -86
- data/lib/bundler/source.rb +3 -4
- data/lib/bundler/spec_set.rb +5 -3
- data/lib/bundler/stub_specification.rb +5 -3
- data/lib/bundler/templates/Executable +2 -4
- data/lib/bundler/templates/Executable.bundler +1 -1
- data/lib/bundler/templates/Executable.standalone +2 -4
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +32 -26
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/lib/bundler/vendor/tsort/lib/tsort.rb +318 -319
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +13 -2
- metadata +3 -3
@@ -51,7 +51,20 @@ module Bundler
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def install
|
54
|
-
spec.source.install(
|
54
|
+
spec.source.install(
|
55
|
+
spec,
|
56
|
+
:force => force,
|
57
|
+
:ensure_builtin_gems_cached => standalone,
|
58
|
+
:build_args => Array(spec_settings),
|
59
|
+
:previous_spec => previous_spec,
|
60
|
+
)
|
61
|
+
end
|
62
|
+
|
63
|
+
def previous_spec
|
64
|
+
locked_gems = installer.definition.locked_gems
|
65
|
+
return unless locked_gems
|
66
|
+
|
67
|
+
locked_gems.specs.find {|s| s.name == spec.name }
|
55
68
|
end
|
56
69
|
|
57
70
|
def out_of_space_message
|
data/lib/bundler/installer.rb
CHANGED
@@ -13,7 +13,7 @@ module Bundler
|
|
13
13
|
Installer.ambiguous_gems = []
|
14
14
|
end
|
15
15
|
|
16
|
-
attr_reader :post_install_messages
|
16
|
+
attr_reader :post_install_messages, :definition
|
17
17
|
|
18
18
|
# Begins the installation process for Bundler.
|
19
19
|
# For more information see the #run method on this class.
|
@@ -66,7 +66,7 @@ module Bundler
|
|
66
66
|
# require paths and save them in a `setup.rb` file. See `bundle standalone --help` for more
|
67
67
|
# information.
|
68
68
|
def run(options)
|
69
|
-
create_bundle_path
|
69
|
+
Bundler.create_bundle_path
|
70
70
|
|
71
71
|
ProcessLock.lock do
|
72
72
|
if Bundler.frozen_bundle?
|
@@ -119,7 +119,7 @@ module Bundler
|
|
119
119
|
relative_gemfile_path = relative_gemfile_path
|
120
120
|
ruby_command = Thor::Util.ruby_command
|
121
121
|
ruby_command = ruby_command
|
122
|
-
template_path = File.expand_path("
|
122
|
+
template_path = File.expand_path("templates/Executable", __dir__)
|
123
123
|
if spec.name == "bundler"
|
124
124
|
template_path += ".bundler"
|
125
125
|
spec.executables = %(bundle)
|
@@ -172,7 +172,7 @@ module Bundler
|
|
172
172
|
end
|
173
173
|
standalone_path = Bundler.root.join(path).relative_path_from(bin_path)
|
174
174
|
standalone_path = standalone_path
|
175
|
-
template = File.read(File.expand_path("
|
175
|
+
template = File.read(File.expand_path("templates/Executable.standalone", __dir__))
|
176
176
|
ruby_command = Thor::Util.ruby_command
|
177
177
|
ruby_command = ruby_command
|
178
178
|
|
@@ -262,15 +262,6 @@ module Bundler
|
|
262
262
|
end
|
263
263
|
end
|
264
264
|
|
265
|
-
def create_bundle_path
|
266
|
-
SharedHelpers.filesystem_access(Bundler.bundle_path.to_s) do |p|
|
267
|
-
Bundler.mkdir_p(p)
|
268
|
-
end unless Bundler.bundle_path.exist?
|
269
|
-
rescue Errno::EEXIST
|
270
|
-
raise PathError, "Could not install to path `#{Bundler.bundle_path}` " \
|
271
|
-
"because a file already exists at that path. Either remove or rename the file so the directory can be created."
|
272
|
-
end
|
273
|
-
|
274
265
|
# returns whether or not a re-resolve was needed
|
275
266
|
def resolve_if_needed(options)
|
276
267
|
if !@definition.unlocking? && !options["force"] && !Bundler.settings[:inline] && Bundler.default_lockfile.file?
|
@@ -94,7 +94,7 @@ module Bundler
|
|
94
94
|
(spec.required_ruby_version.satisfied_by?(Gem.ruby_version) &&
|
95
95
|
spec.required_rubygems_version.satisfied_by?(Gem.rubygems_version))
|
96
96
|
end
|
97
|
-
search = installable_candidates.last
|
97
|
+
search = installable_candidates.last || same_platform_candidates.last
|
98
98
|
search.dependencies = dependencies if search && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
|
99
99
|
search
|
100
100
|
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\-ADD" "1" "
|
4
|
+
.TH "BUNDLE\-ADD" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
@@ -45,6 +45,10 @@ Specify the group(s) for the added gem\. Multiple groups should be separated by
|
|
45
45
|
Specify the source for the added gem\.
|
46
46
|
.
|
47
47
|
.TP
|
48
|
+
\fB\-\-require\fR, \fB\-r\fR
|
49
|
+
Adds require path to gem\. Provide false, or a path as a string\.
|
50
|
+
.
|
51
|
+
.TP
|
48
52
|
\fB\-\-git\fR
|
49
53
|
Specify the git source for the added gem\.
|
50
54
|
.
|
@@ -66,9 +70,9 @@ Adds the gem to the Gemfile but does not install it\.
|
|
66
70
|
.
|
67
71
|
.TP
|
68
72
|
\fB\-\-optimistic\fR
|
69
|
-
Adds optimistic declaration of version
|
73
|
+
Adds optimistic declaration of version\.
|
70
74
|
.
|
71
75
|
.TP
|
72
76
|
\fB\-\-strict\fR
|
73
|
-
Adds strict declaration of version
|
77
|
+
Adds strict declaration of version\.
|
74
78
|
|
@@ -30,6 +30,9 @@ bundle add rails --group "development, test"
|
|
30
30
|
* `--source`, , `-s`:
|
31
31
|
Specify the source for the added gem.
|
32
32
|
|
33
|
+
* `--require`, `-r`:
|
34
|
+
Adds require path to gem. Provide false, or a path as a string.
|
35
|
+
|
33
36
|
* `--git`:
|
34
37
|
Specify the git source for the added gem.
|
35
38
|
|
@@ -46,7 +49,7 @@ bundle add rails --group "development, test"
|
|
46
49
|
Adds the gem to the Gemfile but does not install it.
|
47
50
|
|
48
51
|
* `--optimistic`:
|
49
|
-
Adds optimistic declaration of version
|
52
|
+
Adds optimistic declaration of version.
|
50
53
|
|
51
54
|
* `--strict`:
|
52
|
-
Adds strict declaration of version
|
55
|
+
Adds strict declaration of version.
|
@@ -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" "May 2022" "" ""
|
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" "May 2022" "" ""
|
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\-CONFIG" "1" "
|
4
|
+
.TH "BUNDLE\-CONFIG" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-config\fR \- Set bundler configuration options
|
@@ -36,13 +36,13 @@ Executing \fBbundle config list\fR with will print a list of all bundler configu
|
|
36
36
|
Executing \fBbundle config get <name>\fR will print the value of that configuration setting, and where it was set\.
|
37
37
|
.
|
38
38
|
.P
|
39
|
-
Executing \fBbundle config set <name> <value>\fR
|
39
|
+
Executing \fBbundle config set <name> <value>\fR defaults to setting \fBlocal\fR configuration if executing from within a local application, otherwise it will set \fBglobal\fR configuration\. See \fB\-\-local\fR and \fB\-\-global\fR options below\.
|
40
40
|
.
|
41
41
|
.P
|
42
|
-
Executing \fBbundle config set \-\-
|
42
|
+
Executing \fBbundle config set \-\-local <name> <value>\fR will set that configuration in the directory for the local application\. The configuration will be stored in \fB<project_root>/\.bundle/config\fR\. If \fBBUNDLE_APP_CONFIG\fR is set, the configuration will be stored in \fB$BUNDLE_APP_CONFIG/config\fR\.
|
43
43
|
.
|
44
44
|
.P
|
45
|
-
Executing \fBbundle config set \-\-
|
45
|
+
Executing \fBbundle config set \-\-global <name> <value>\fR will set that configuration to the value specified for all bundles executed as the current user\. The configuration will be stored in \fB~/\.bundle/config\fR\. If \fIname\fR already is set, \fIname\fR will be overridden and user will be warned\.
|
46
46
|
.
|
47
47
|
.P
|
48
48
|
Executing \fBbundle config unset <name>\fR will delete the configuration in both local and global sources\.
|
@@ -23,18 +23,20 @@ was set.
|
|
23
23
|
Executing `bundle config get <name>` will print the value of that configuration
|
24
24
|
setting, and where it was set.
|
25
25
|
|
26
|
-
Executing `bundle config set <name> <value>`
|
27
|
-
|
28
|
-
|
29
|
-
overridden and user will be warned.
|
30
|
-
|
31
|
-
Executing `bundle config set --global <name> <value>` works the same as above.
|
26
|
+
Executing `bundle config set <name> <value>` defaults to setting `local`
|
27
|
+
configuration if executing from within a local application, otherwise it will
|
28
|
+
set `global` configuration. See `--local` and `--global` options below.
|
32
29
|
|
33
30
|
Executing `bundle config set --local <name> <value>` will set that configuration
|
34
31
|
in the directory for the local application. The configuration will be stored in
|
35
32
|
`<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
|
36
33
|
will be stored in `$BUNDLE_APP_CONFIG/config`.
|
37
34
|
|
35
|
+
Executing `bundle config set --global <name> <value>` will set that
|
36
|
+
configuration to the value specified for all bundles executed as the current
|
37
|
+
user. The configuration will be stored in `~/.bundle/config`. If <name> already
|
38
|
+
is set, <name> will be overridden and user will be warned.
|
39
|
+
|
38
40
|
Executing `bundle config unset <name>` will delete the configuration in both
|
39
41
|
local and global sources.
|
40
42
|
|
@@ -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" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "May 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "May 2022" "" ""
|
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
@@ -258,7 +258,7 @@ module Bundler
|
|
258
258
|
@dependencies |= Array(names)
|
259
259
|
end
|
260
260
|
|
261
|
-
#
|
261
|
+
# NOTE: Do not override if you don't know what you are doing.
|
262
262
|
def can_lock?(spec)
|
263
263
|
spec.source == self
|
264
264
|
end
|
@@ -285,7 +285,7 @@ module Bundler
|
|
285
285
|
end
|
286
286
|
alias_method :identifier, :to_s
|
287
287
|
|
288
|
-
#
|
288
|
+
# NOTE: Do not override if you don't know what you are doing.
|
289
289
|
def include?(other)
|
290
290
|
other == self
|
291
291
|
end
|
@@ -294,7 +294,7 @@ module Bundler
|
|
294
294
|
SharedHelpers.digest(:SHA1).hexdigest(uri)
|
295
295
|
end
|
296
296
|
|
297
|
-
#
|
297
|
+
# NOTE: Do not override if you don't know what you are doing.
|
298
298
|
def gem_install_dir
|
299
299
|
Bundler.install_path
|
300
300
|
end
|
data/lib/bundler/process_lock.rb
CHANGED
@@ -12,7 +12,7 @@ module Bundler
|
|
12
12
|
yield
|
13
13
|
f.flock(File::LOCK_UN)
|
14
14
|
end
|
15
|
-
rescue Errno::EACCES, Errno::ENOLCK, Errno::ENOTSUP
|
15
|
+
rescue Errno::EACCES, Errno::ENOLCK, Errno::ENOTSUP, Errno::EPERM, Errno::EROFS
|
16
16
|
# In the case the user does not have access to
|
17
17
|
# create the lock file or is using NFS where
|
18
18
|
# locks are not available we skip locking.
|
@@ -97,10 +97,10 @@ module Bundler
|
|
97
97
|
spec = @specs[platform].first
|
98
98
|
return [] if spec.is_a?(LazySpecification)
|
99
99
|
dependencies = []
|
100
|
-
|
100
|
+
unless spec.required_ruby_version.none?
|
101
101
|
dependencies << DepProxy.get_proxy(Gem::Dependency.new("Ruby\0", spec.required_ruby_version), platform)
|
102
102
|
end
|
103
|
-
|
103
|
+
unless spec.required_rubygems_version.none?
|
104
104
|
dependencies << DepProxy.get_proxy(Gem::Dependency.new("RubyGems\0", spec.required_rubygems_version), platform)
|
105
105
|
end
|
106
106
|
dependencies
|