bundler 2.1.3 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bundler might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1575 -1423
- data/README.md +6 -8
- data/bundler.gemspec +3 -3
- data/exe/bundle +3 -0
- data/lib/bundler.rb +35 -7
- data/lib/bundler/build_metadata.rb +3 -11
- data/lib/bundler/cli.rb +58 -21
- data/lib/bundler/cli/add.rb +1 -1
- data/lib/bundler/cli/binstubs.rb +6 -2
- data/lib/bundler/cli/cache.rb +1 -7
- data/lib/bundler/cli/clean.rb +1 -1
- data/lib/bundler/cli/common.rb +14 -0
- data/lib/bundler/cli/console.rb +1 -1
- data/lib/bundler/cli/doctor.rb +1 -1
- data/lib/bundler/cli/exec.rb +4 -4
- data/lib/bundler/cli/fund.rb +36 -0
- data/lib/bundler/cli/gem.rb +84 -11
- data/lib/bundler/cli/info.rb +15 -4
- data/lib/bundler/cli/init.rb +2 -2
- data/lib/bundler/cli/inject.rb +1 -1
- data/lib/bundler/cli/install.rb +9 -16
- data/lib/bundler/cli/issue.rb +2 -2
- data/lib/bundler/cli/list.rb +12 -10
- data/lib/bundler/cli/outdated.rb +87 -66
- data/lib/bundler/cli/plugin.rb +10 -0
- data/lib/bundler/cli/pristine.rb +5 -0
- data/lib/bundler/cli/show.rb +1 -1
- data/lib/bundler/cli/update.rb +2 -0
- data/lib/bundler/compact_index_client.rb +1 -1
- data/lib/bundler/compact_index_client/cache.rb +1 -1
- data/lib/bundler/compact_index_client/updater.rb +5 -5
- data/lib/bundler/definition.rb +49 -72
- data/lib/bundler/dep_proxy.rb +1 -1
- data/lib/bundler/dependency.rb +3 -10
- data/lib/bundler/dsl.rb +5 -9
- data/lib/bundler/endpoint_specification.rb +1 -1
- data/lib/bundler/env.rb +1 -1
- data/lib/bundler/environment_preserver.rb +26 -2
- data/lib/bundler/errors.rb +1 -0
- data/lib/bundler/feature_flag.rb +0 -3
- data/lib/bundler/fetcher.rb +4 -3
- data/lib/bundler/fetcher/base.rb +1 -1
- data/lib/bundler/fetcher/compact_index.rb +1 -1
- data/lib/bundler/fetcher/downloader.rb +1 -1
- data/lib/bundler/fetcher/index.rb +3 -4
- data/lib/bundler/friendly_errors.rb +22 -13
- data/lib/bundler/gem_helper.rb +32 -17
- data/lib/bundler/gem_helpers.rb +6 -1
- data/lib/bundler/gem_version_promoter.rb +2 -2
- data/lib/bundler/graph.rb +1 -1
- data/lib/bundler/index.rb +6 -2
- data/lib/bundler/injector.rb +22 -4
- data/lib/bundler/inline.rb +2 -2
- data/lib/bundler/installer.rb +35 -32
- data/lib/bundler/installer/gem_installer.rb +3 -3
- data/lib/bundler/installer/parallel_installer.rb +10 -10
- data/lib/bundler/installer/standalone.rb +2 -2
- data/lib/bundler/lazy_specification.rb +34 -9
- data/lib/bundler/lockfile_generator.rb +1 -1
- data/lib/bundler/lockfile_parser.rb +1 -1
- data/lib/bundler/man/.document +1 -0
- data/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
- data/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
- data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
- data/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
- data/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
- data/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
- data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- data/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
- data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
- data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
- data/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
- data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
- data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
- data/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- data/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
- data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
- data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
- data/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
- data/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
- data/lib/bundler/mirror.rb +2 -2
- data/lib/bundler/plugin.rb +30 -5
- data/lib/bundler/plugin/api/source.rb +1 -1
- data/lib/bundler/plugin/dsl.rb +1 -1
- data/lib/bundler/plugin/index.rb +10 -1
- data/lib/bundler/plugin/installer.rb +1 -1
- data/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/lib/bundler/plugin/source_list.rb +1 -1
- data/lib/bundler/psyched_yaml.rb +0 -15
- data/lib/bundler/remote_specification.rb +5 -2
- data/lib/bundler/resolver.rb +35 -18
- data/lib/bundler/resolver/spec_group.rb +28 -11
- data/lib/bundler/retry.rb +1 -1
- data/lib/bundler/ruby_version.rb +1 -1
- data/lib/bundler/rubygems_ext.rb +53 -9
- data/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/lib/bundler/rubygems_integration.rb +25 -55
- data/lib/bundler/runtime.rb +4 -14
- data/lib/bundler/settings.rb +49 -46
- data/lib/bundler/shared_helpers.rb +2 -2
- data/lib/bundler/similarity_detector.rb +1 -1
- data/lib/bundler/source.rb +1 -1
- data/lib/bundler/source/git.rb +5 -5
- data/lib/bundler/source/git/git_proxy.rb +57 -60
- data/lib/bundler/source/path.rb +7 -3
- data/lib/bundler/source/path/installer.rb +8 -10
- data/lib/bundler/source/rubygems.rb +13 -16
- data/lib/bundler/source/rubygems/remote.rb +1 -1
- data/lib/bundler/source_list.rb +2 -2
- data/lib/bundler/spec_set.rb +2 -1
- data/lib/bundler/stub_specification.rb +17 -7
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/lib/bundler/templates/newgem/README.md.tt +1 -2
- data/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +14 -6
- data/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/lib/bundler/ui/shell.rb +5 -5
- data/lib/bundler/uri_credentials_filter.rb +3 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +38 -40
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -208
- data/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/lib/bundler/vendored_persistent.rb +0 -7
- data/lib/bundler/vendored_tmpdir.rb +4 -0
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler/worker.rb +1 -1
- data/lib/bundler/yaml_serializer.rb +1 -1
- data/man/bundle-add.1 +1 -1
- data/man/bundle-binstubs.1 +5 -3
- data/man/bundle-cache.1 +1 -1
- data/man/bundle-check.1 +1 -1
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-config.1 +16 -25
- data/man/bundle-doctor.1 +1 -1
- data/man/bundle-exec.1 +1 -1
- data/man/bundle-gem.1 +25 -3
- data/man/bundle-info.1 +1 -1
- data/man/bundle-init.1 +1 -1
- data/man/bundle-inject.1 +1 -1
- data/man/bundle-install.1 +30 -3
- data/man/bundle-list.1 +7 -7
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-open.1 +1 -1
- data/man/bundle-outdated.1 +1 -1
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-pristine.1 +1 -1
- data/man/bundle-remove.1 +1 -1
- data/man/bundle-show.1 +1 -1
- data/man/bundle-update.1 +1 -1
- data/man/bundle-viz.1 +1 -1
- data/man/bundle.1 +1 -1
- data/man/gemfile.5 +4 -4
- metadata +43 -59
- data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/man/bundle-add.1.txt +0 -58
- data/man/bundle-binstubs.1.txt +0 -48
- data/man/bundle-cache.1.txt +0 -78
- data/man/bundle-check.1.txt +0 -33
- data/man/bundle-clean.1.txt +0 -26
- data/man/bundle-config.1.txt +0 -528
- data/man/bundle-doctor.1.txt +0 -44
- data/man/bundle-exec.1.txt +0 -178
- data/man/bundle-gem.1.txt +0 -91
- data/man/bundle-info.1.txt +0 -21
- data/man/bundle-init.1.txt +0 -34
- data/man/bundle-inject.1.txt +0 -32
- data/man/bundle-install.1.txt +0 -401
- data/man/bundle-list.1.txt +0 -43
- data/man/bundle-lock.1.txt +0 -93
- data/man/bundle-open.1.txt +0 -29
- data/man/bundle-outdated.1.txt +0 -131
- data/man/bundle-platform.1.txt +0 -57
- data/man/bundle-pristine.1.txt +0 -44
- data/man/bundle-remove.1.txt +0 -34
- data/man/bundle-show.1.txt +0 -27
- data/man/bundle-update.1.txt +0 -390
- data/man/bundle-viz.1.txt +0 -39
- data/man/bundle.1.txt +0 -116
- data/man/gemfile.5.txt +0 -649
File without changes
|
File without changes
|
@@ -60,14 +60,37 @@ configuration file using the following names:
|
|
60
60
|
Do not create a `LICENSE.txt` (overrides `--mit` specified in the global
|
61
61
|
config).
|
62
62
|
|
63
|
-
* `-t`, `--test=minitest`, `--test=rspec`:
|
63
|
+
* `-t`, `--test=minitest`, `--test=rspec`, `--test=test-unit`:
|
64
64
|
Specify the test framework that Bundler should use when generating the
|
65
|
-
project. Acceptable values are `minitest` and `
|
66
|
-
will be configured and a skeleton test/spec directory will
|
67
|
-
on this option.
|
68
|
-
|
69
|
-
|
70
|
-
|
65
|
+
project. Acceptable values are `minitest`, `rspec` and `test-unit`. The
|
66
|
+
`GEM_NAME.gemspec` will be configured and a skeleton test/spec directory will
|
67
|
+
be created based on this option. Given no option is specified:
|
68
|
+
|
69
|
+
When Bundler is configured to generate tests, this defaults to Bundler's
|
70
|
+
global config setting `gem.test`.
|
71
|
+
|
72
|
+
When Bundler is configured to not generate tests, an interactive prompt will
|
73
|
+
be displayed and the answer will be used for the current rubygem project.
|
74
|
+
|
75
|
+
When Bundler is unconfigured, an interactive prompt will be displayed and
|
76
|
+
the answer will be saved in Bundler's global config for future `bundle gem`
|
77
|
+
use.
|
78
|
+
|
79
|
+
* `--ci`, `--ci=github`, `--ci=travis`, `--ci=gitlab`, `--ci=circle`:
|
80
|
+
Specify the continuous integration service that Bundler should use when
|
81
|
+
generating the project. Acceptable values are `github`, `travis`, `gitlab`
|
82
|
+
and `circle`. A configuration file will be generated in the project directory.
|
83
|
+
Given no option is specified:
|
84
|
+
|
85
|
+
When Bundler is configured to generate CI files, this defaults to Bundler's
|
86
|
+
global config setting `gem.ci`.
|
87
|
+
|
88
|
+
When Bundler is configured to not generate CI files, an interactive prompt
|
89
|
+
will be displayed and the answer will be used for the current rubygem project.
|
90
|
+
|
91
|
+
When Bundler is unconfigured, an interactive prompt will be displayed and
|
92
|
+
the answer will be saved in Bundler's global config for future `bundle gem`
|
93
|
+
use.
|
71
94
|
|
72
95
|
* `-e`, `--edit[=EDITOR]`:
|
73
96
|
Open the resulting GEM_NAME.gemspec in EDITOR, or the default editor if not
|
File without changes
|
File without changes
|
File without changes
|
@@ -43,8 +43,12 @@ update process below under [CONSERVATIVE UPDATING][].
|
|
43
43
|
|
44
44
|
## OPTIONS
|
45
45
|
|
46
|
-
|
47
|
-
|
46
|
+
The `--clean`, `--deployment`, `--frozen`, `--no-prune`, `--path`, `--shebang`,
|
47
|
+
`--system`, `--without` and `--with` options are deprecated because they only
|
48
|
+
make sense if they are applied to every subsequent `bundle install` run
|
49
|
+
automatically and that requires `bundler` to silently remember them. Since
|
50
|
+
`bundler` will no longer remember CLI flags in future versions, `bundle config`
|
51
|
+
(see bundle-config(1)) should be used to apply them permanently.
|
48
52
|
|
49
53
|
* `--binstubs[=<directory>]`:
|
50
54
|
Binstubs are scripts that wrap around executables. Bundler creates a small Ruby
|
@@ -64,11 +68,15 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
64
68
|
in the current Gemfile(5). Don't worry, gems currently in use will not be
|
65
69
|
removed.
|
66
70
|
|
71
|
+
This option is deprecated in favor of the `clean` setting.
|
72
|
+
|
67
73
|
* `--deployment`:
|
68
74
|
In [deployment mode][DEPLOYMENT MODE], Bundler will 'roll-out' the bundle for
|
69
75
|
production or CI use. Please check carefully if you want to have this option
|
70
76
|
enabled in your development environment.
|
71
77
|
|
78
|
+
This option is deprecated in favor of the `deployment` setting.
|
79
|
+
|
72
80
|
* `--redownload`:
|
73
81
|
Force download every gem, even if the required versions are already available
|
74
82
|
locally.
|
@@ -77,6 +85,8 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
77
85
|
Do not allow the Gemfile.lock to be updated after this install. Exits
|
78
86
|
non-zero if there are going to be changes to the Gemfile.lock.
|
79
87
|
|
88
|
+
This option is deprecated in favor of the `frozen` setting.
|
89
|
+
|
80
90
|
* `--full-index`:
|
81
91
|
Bundler will not call Rubygems' API endpoint (default) but download and cache
|
82
92
|
a (currently big) index file of all gems. Performance can be improved for
|
@@ -95,7 +105,7 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
95
105
|
|
96
106
|
* `--local`:
|
97
107
|
Do not attempt to connect to `rubygems.org`. Instead, Bundler will use the
|
98
|
-
gems already present in Rubygems' cache or in `vendor/cache`. Note that if
|
108
|
+
gems already present in Rubygems' cache or in `vendor/cache`. Note that if an
|
99
109
|
appropriate platform-specific gem exists on `rubygems.org` it will not be
|
100
110
|
found.
|
101
111
|
|
@@ -107,6 +117,8 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
107
117
|
* `--no-prune`:
|
108
118
|
Don't remove stale gems from the cache when the installation finishes.
|
109
119
|
|
120
|
+
This option is deprecated in favor of the `no_prune` setting.
|
121
|
+
|
110
122
|
* `--path=<path>`:
|
111
123
|
The location to install the specified gems to. This defaults to Rubygems'
|
112
124
|
setting. Bundler shares this location with Rubygems, `gem install ...` will
|
@@ -114,6 +126,8 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
114
126
|
`--path ...` setting will show up by calling `gem list`. Accordingly, gems
|
115
127
|
installed to other locations will not get listed.
|
116
128
|
|
129
|
+
This option is deprecated in favor of the `path` setting.
|
130
|
+
|
117
131
|
* `--quiet`:
|
118
132
|
Do not print progress information to the standard output. Instead, Bundler
|
119
133
|
will exit using a status code (`$?`).
|
@@ -127,6 +141,8 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
127
141
|
`--shebang jruby` these executables will be changed to execute `jruby`
|
128
142
|
instead.
|
129
143
|
|
144
|
+
This option is deprecated in favor of the `shebang` setting.
|
145
|
+
|
130
146
|
* `--standalone[=<list>]`:
|
131
147
|
Makes a bundle that can work without depending on Rubygems or Bundler at
|
132
148
|
runtime. A space separated list of groups to install has to be specified.
|
@@ -139,6 +155,8 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
139
155
|
Installs the gems specified in the bundle to the system's Rubygems location.
|
140
156
|
This overrides any previous configuration of `--path`.
|
141
157
|
|
158
|
+
This option is deprecated in favor of the `system` setting.
|
159
|
+
|
142
160
|
* `--trust-policy=[<policy>]`:
|
143
161
|
Apply the Rubygems security policy <policy>, where policy is one of
|
144
162
|
`HighSecurity`, `MediumSecurity`, `LowSecurity`, `AlmostNoSecurity`, or
|
@@ -151,11 +169,15 @@ time `bundle install` is run, use `bundle config` (see bundle-config(1)).
|
|
151
169
|
in the remembered list of groups given to --without, it is removed
|
152
170
|
from that list.
|
153
171
|
|
172
|
+
This option is deprecated in favor of the `with` setting.
|
173
|
+
|
154
174
|
* `--without=<list>`:
|
155
175
|
A space-separated list of groups referencing gems to skip during installation.
|
156
176
|
If a group is given that is in the remembered list of groups given
|
157
177
|
to --with, it is removed from that list.
|
158
178
|
|
179
|
+
This option is deprecated in favor of the `without` setting.
|
180
|
+
|
159
181
|
## DEPLOYMENT MODE
|
160
182
|
|
161
183
|
Bundler's defaults are optimized for development. To switch to
|
@@ -3,7 +3,7 @@ bundle-list(1) -- List all the gems in the bundle
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle list` [--name-only] [--paths] [--without-group=GROUP] [--only-group=GROUP]
|
6
|
+
`bundle list` [--name-only] [--paths] [--without-group=GROUP[ GROUP...]] [--only-group=GROUP[ GROUP...]]
|
7
7
|
|
8
8
|
## DESCRIPTION
|
9
9
|
|
@@ -19,7 +19,7 @@ bundle list --without-group test
|
|
19
19
|
|
20
20
|
bundle list --only-group dev
|
21
21
|
|
22
|
-
bundle list --only-group dev --paths
|
22
|
+
bundle list --only-group dev test --paths
|
23
23
|
|
24
24
|
## OPTIONS
|
25
25
|
|
@@ -27,7 +27,7 @@ bundle list --only-group dev --paths
|
|
27
27
|
Print only the name of each gem.
|
28
28
|
* `--paths`:
|
29
29
|
Print the path to each gem in the bundle.
|
30
|
-
* `--without-group
|
31
|
-
|
32
|
-
* `--only-group
|
33
|
-
|
30
|
+
* `--without-group=<list>`:
|
31
|
+
A space-separated list of groups of gems to skip during printing.
|
32
|
+
* `--only-group=<list>`:
|
33
|
+
A space-separated list of groups of gems to print.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -120,8 +120,8 @@ Each _gem_ `MAY` have one or more version specifiers.
|
|
120
120
|
### REQUIRE AS
|
121
121
|
|
122
122
|
Each _gem_ `MAY` specify files that should be used when autorequiring via
|
123
|
-
`Bundler.require`. You may pass an array with multiple files or `true` if file
|
124
|
-
you want `required` has same name as _gem_ or `false` to
|
123
|
+
`Bundler.require`. You may pass an array with multiple files or `true` if the file
|
124
|
+
you want `required` has the same name as _gem_ or `false` to
|
125
125
|
prevent any file from being autorequired.
|
126
126
|
|
127
127
|
gem "redis", :require => ["redis/connection/hiredis", "redis"]
|
@@ -163,8 +163,8 @@ not install with the `without` configuration.
|
|
163
163
|
|
164
164
|
To specify multiple groups to ignore, specify a list of groups separated by spaces.
|
165
165
|
|
166
|
-
bundle config set without test
|
167
|
-
bundle config set without development test
|
166
|
+
bundle config set --local without test
|
167
|
+
bundle config set --local without development test
|
168
168
|
|
169
169
|
Also, calling `Bundler.setup` with no parameters, or calling `require "bundler/setup"`
|
170
170
|
will setup all groups except for the ones you excluded via `--without` (since they
|
data/lib/bundler/mirror.rb
CHANGED
@@ -43,7 +43,7 @@ module Bundler
|
|
43
43
|
config.update_mirror(mirror)
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
private
|
47
47
|
|
48
48
|
def fetch_valid_mirror_for(uri)
|
49
49
|
downcased = uri.to_s.downcase
|
@@ -158,7 +158,7 @@ module Bundler
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
161
|
-
|
161
|
+
private
|
162
162
|
|
163
163
|
def wait_for_writtable_socket(socket, address, timeout)
|
164
164
|
if IO.select(nil, [socket], nil, timeout)
|
data/lib/bundler/plugin.rb
CHANGED
@@ -16,7 +16,7 @@ module Bundler
|
|
16
16
|
|
17
17
|
PLUGIN_FILE_NAME = "plugins.rb".freeze
|
18
18
|
|
19
|
-
|
19
|
+
module_function
|
20
20
|
|
21
21
|
def reset!
|
22
22
|
instance_variables.each {|i| remove_instance_variable(i) }
|
@@ -39,12 +39,37 @@ module Bundler
|
|
39
39
|
|
40
40
|
save_plugins names, specs
|
41
41
|
rescue PluginError => e
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
specs_to_delete = specs.select {|k, _v| names.include?(k) && !index.commands.values.include?(k) }
|
43
|
+
specs_to_delete.each_value {|spec| Bundler.rm_rf(spec.full_gem_path) }
|
44
|
+
|
45
|
+
names_list = names.map {|name| "`#{name}`" }.join(", ")
|
46
|
+
Bundler.ui.error "Failed to install the following plugins: #{names_list}. The underlying error was: #{e.message}.\n #{e.backtrace.join("\n ")}"
|
47
|
+
end
|
48
|
+
|
49
|
+
# Uninstalls plugins by the given names
|
50
|
+
#
|
51
|
+
# @param [Array<String>] names the names of plugins to be uninstalled
|
52
|
+
def uninstall(names, options)
|
53
|
+
if names.empty? && !options[:all]
|
54
|
+
Bundler.ui.error "No plugins to uninstall. Specify at least 1 plugin to uninstall.\n"\
|
55
|
+
"Use --all option to uninstall all the installed plugins."
|
56
|
+
return
|
45
57
|
end
|
46
58
|
|
47
|
-
|
59
|
+
names = index.installed_plugins if options[:all]
|
60
|
+
if names.any?
|
61
|
+
names.each do |name|
|
62
|
+
if index.installed?(name)
|
63
|
+
Bundler.rm_rf(index.plugin_path(name))
|
64
|
+
index.unregister_plugin(name)
|
65
|
+
Bundler.ui.info "Uninstalled plugin #{name}"
|
66
|
+
else
|
67
|
+
Bundler.ui.error "Plugin #{name} is not installed \n"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
else
|
71
|
+
Bundler.ui.info "No plugins installed"
|
72
|
+
end
|
48
73
|
end
|
49
74
|
|
50
75
|
# List installed plugins and commands
|
data/lib/bundler/plugin/dsl.rb
CHANGED
@@ -10,7 +10,7 @@ module Bundler
|
|
10
10
|
# So that we don't have to override all there methods to dummy ones
|
11
11
|
# explicitly.
|
12
12
|
# They will be handled by method_missing
|
13
|
-
[:gemspec, :gem, :
|
13
|
+
[:gemspec, :gem, :install_if, :platforms, :env].each {|m| undef_method m }
|
14
14
|
|
15
15
|
# This lists the plugins that was added automatically and not specified by
|
16
16
|
# the user.
|
data/lib/bundler/plugin/index.rb
CHANGED
@@ -71,6 +71,15 @@ module Bundler
|
|
71
71
|
raise
|
72
72
|
end
|
73
73
|
|
74
|
+
def unregister_plugin(name)
|
75
|
+
@commands.delete_if {|_, v| v == name }
|
76
|
+
@sources.delete_if {|_, v| v == name }
|
77
|
+
@hooks.each {|_, plugin_names| plugin_names.delete(name) }
|
78
|
+
@plugin_paths.delete(name)
|
79
|
+
@load_paths.delete(name)
|
80
|
+
save_index
|
81
|
+
end
|
82
|
+
|
74
83
|
# Path of default index file
|
75
84
|
def index_file
|
76
85
|
Plugin.root.join("index")
|
@@ -124,7 +133,7 @@ module Bundler
|
|
124
133
|
@hooks[event] || []
|
125
134
|
end
|
126
135
|
|
127
|
-
|
136
|
+
private
|
128
137
|
|
129
138
|
# Reads the index file from the directory and initializes the instance
|
130
139
|
# variables.
|
data/lib/bundler/psyched_yaml.rb
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Psych could be a gem, so try to ask for it
|
4
|
-
begin
|
5
|
-
gem "psych"
|
6
|
-
rescue LoadError
|
7
|
-
end if defined?(gem)
|
8
|
-
|
9
3
|
# Psych could be in the stdlib
|
10
4
|
# but it's too late if Syck is already loaded
|
11
5
|
begin
|
@@ -26,12 +20,3 @@ module Bundler
|
|
26
20
|
YamlLibrarySyntaxError = ::ArgumentError
|
27
21
|
end
|
28
22
|
end
|
29
|
-
|
30
|
-
require_relative "deprecate"
|
31
|
-
begin
|
32
|
-
Bundler::Deprecate.skip_during do
|
33
|
-
require "rubygems/safe_yaml"
|
34
|
-
end
|
35
|
-
rescue LoadError
|
36
|
-
# it's OK if the file isn't there
|
37
|
-
end
|
@@ -50,6 +50,8 @@ module Bundler
|
|
50
50
|
# once the remote gem is downloaded, the backend specification will
|
51
51
|
# be swapped out.
|
52
52
|
def __swap__(spec)
|
53
|
+
raise APIResponseInvalidDependenciesError unless spec.dependencies.all? {|d| d.is_a?(Gem::Dependency) }
|
54
|
+
|
53
55
|
SharedHelpers.ensure_same_dependencies(self, dependencies, spec.dependencies)
|
54
56
|
@_remote_specification = spec
|
55
57
|
end
|
@@ -76,7 +78,8 @@ module Bundler
|
|
76
78
|
deps = method_missing(:dependencies)
|
77
79
|
|
78
80
|
# allow us to handle when the specs dependencies are an array of array of string
|
79
|
-
#
|
81
|
+
# in order to delay the crash to `#__swap__` where it results in a friendlier error
|
82
|
+
# see https://github.com/rubygems/bundler/issues/5797
|
80
83
|
deps = deps.map {|d| d.is_a?(Gem::Dependency) ? d : Gem::Dependency.new(*d) }
|
81
84
|
|
82
85
|
deps
|
@@ -88,7 +91,7 @@ module Bundler
|
|
88
91
|
" #{source.revision[0..6]}"
|
89
92
|
end
|
90
93
|
|
91
|
-
|
94
|
+
private
|
92
95
|
|
93
96
|
def to_ary
|
94
97
|
nil
|
data/lib/bundler/resolver.rb
CHANGED
@@ -75,12 +75,17 @@ module Bundler
|
|
75
75
|
return unless debug?
|
76
76
|
debug_info = yield
|
77
77
|
debug_info = debug_info.inspect unless debug_info.is_a?(String)
|
78
|
-
|
78
|
+
puts debug_info.split("\n").map {|s| "BUNDLER: " + " " * depth + s }
|
79
79
|
end
|
80
80
|
|
81
81
|
def debug?
|
82
82
|
return @debug_mode if defined?(@debug_mode)
|
83
|
-
@debug_mode =
|
83
|
+
@debug_mode =
|
84
|
+
ENV["BUNDLER_DEBUG_RESOLVER"] ||
|
85
|
+
ENV["BUNDLER_DEBUG_RESOLVER_TREE"] ||
|
86
|
+
ENV["DEBUG_RESOLVER"] ||
|
87
|
+
ENV["DEBUG_RESOLVER_TREE"] ||
|
88
|
+
false
|
84
89
|
end
|
85
90
|
|
86
91
|
def before_resolution
|
@@ -101,18 +106,19 @@ module Bundler
|
|
101
106
|
specification.dependencies_for_activated_platforms
|
102
107
|
end
|
103
108
|
|
104
|
-
def search_for(
|
105
|
-
platform =
|
106
|
-
dependency =
|
107
|
-
|
109
|
+
def search_for(dependency_proxy)
|
110
|
+
platform = dependency_proxy.__platform
|
111
|
+
dependency = dependency_proxy.dep
|
112
|
+
@search_for[dependency_proxy] ||= begin
|
113
|
+
name = dependency.name
|
108
114
|
index = index_for(dependency)
|
109
|
-
results = index.search(dependency, @base[
|
115
|
+
results = index.search(dependency, @base[name])
|
110
116
|
|
111
|
-
if vertex = @base_dg.vertex_named(
|
117
|
+
if vertex = @base_dg.vertex_named(name)
|
112
118
|
locked_requirement = vertex.payload.requirement
|
113
119
|
end
|
114
120
|
|
115
|
-
if !@prerelease_specified[
|
121
|
+
if !@prerelease_specified[name] && (!@use_gvp || locked_requirement.nil?)
|
116
122
|
# Move prereleases to the beginning of the list, so they're considered
|
117
123
|
# last during resolution.
|
118
124
|
pre, results = results.partition {|spec| spec.version.prerelease? }
|
@@ -140,13 +146,25 @@ module Bundler
|
|
140
146
|
end
|
141
147
|
# GVP handles major itself, but it's still a bit risky to trust it with it
|
142
148
|
# until we get it settled with new behavior. For 2.x it can take over all cases.
|
143
|
-
if !@use_gvp
|
149
|
+
search = if !@use_gvp
|
144
150
|
spec_groups
|
145
151
|
else
|
146
152
|
@gem_version_promoter.sort_versions(dependency, spec_groups)
|
147
153
|
end
|
154
|
+
selected_sgs = []
|
155
|
+
search.each do |sg|
|
156
|
+
next unless sg.for?(platform)
|
157
|
+
sg_all_platforms = sg.copy_for(self.class.sort_platforms(@platforms).reverse)
|
158
|
+
selected_sgs << sg_all_platforms
|
159
|
+
|
160
|
+
next if sg_all_platforms.activated_platforms == [Gem::Platform::RUBY]
|
161
|
+
# Add a spec group for "non platform specific spec" as the fallback
|
162
|
+
# spec group.
|
163
|
+
sg_ruby = sg.copy_for([Gem::Platform::RUBY])
|
164
|
+
selected_sgs.insert(-2, sg_ruby) if sg_ruby
|
165
|
+
end
|
166
|
+
selected_sgs
|
148
167
|
end
|
149
|
-
search.select {|sg| sg.for?(platform) }.each {|sg| sg.activate_platform!(platform) }
|
150
168
|
end
|
151
169
|
|
152
170
|
def index_for(dependency)
|
@@ -183,9 +201,7 @@ module Bundler
|
|
183
201
|
end
|
184
202
|
|
185
203
|
def requirement_satisfied_by?(requirement, activated, spec)
|
186
|
-
|
187
|
-
spec.activate_platform!(requirement.__platform) if !@platforms || @platforms.include?(requirement.__platform)
|
188
|
-
true
|
204
|
+
requirement.matches_spec?(spec) || spec.source.is_a?(Source::Gemspec)
|
189
205
|
end
|
190
206
|
|
191
207
|
def relevant_sources_for_vertex(vertex)
|
@@ -223,11 +239,12 @@ module Bundler
|
|
223
239
|
end
|
224
240
|
|
225
241
|
def self.platform_sort_key(platform)
|
226
|
-
|
227
|
-
|
242
|
+
# Prefer specific platform to not specific platform
|
243
|
+
return ["99-LAST", "", "", ""] if Gem::Platform::RUBY == platform
|
244
|
+
["00", *platform.to_a.map {|part| part || "" }]
|
228
245
|
end
|
229
246
|
|
230
|
-
|
247
|
+
private
|
231
248
|
|
232
249
|
# returns an integer \in (-\infty, 0]
|
233
250
|
# a number closer to 0 means the dependency is less constraining
|
@@ -279,7 +296,7 @@ module Bundler
|
|
279
296
|
versions_with_platforms = specs.map {|s| [s.version, s.platform] }
|
280
297
|
message = String.new("Could not find gem '#{SharedHelpers.pretty_dependency(requirement)}' in #{source}#{cache_message}.\n")
|
281
298
|
message << if versions_with_platforms.any?
|
282
|
-
"The source contains '#{name}'
|
299
|
+
"The source contains the following versions of '#{name}': #{formatted_versions_with_platforms(versions_with_platforms)}"
|
283
300
|
else
|
284
301
|
"The source does not contain any versions of '#{name}'"
|
285
302
|
end
|