rubygems-update 2.7.7 → 2.7.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/History.txt +51 -0
- data/Rakefile +12 -2
- data/bundler/CHANGELOG.md +80 -0
- data/bundler/README.md +1 -1
- data/bundler/bundler.gemspec +2 -1
- data/bundler/lib/bundler.rb +10 -6
- data/bundler/lib/bundler/build_metadata.rb +19 -2
- data/bundler/lib/bundler/cli.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +1 -0
- data/bundler/lib/bundler/cli/update.rb +3 -3
- data/bundler/lib/bundler/current_ruby.rb +8 -1
- data/bundler/lib/bundler/definition.rb +18 -13
- data/bundler/lib/bundler/dep_proxy.rb +2 -2
- data/bundler/lib/bundler/dependency.rb +1 -0
- data/bundler/lib/bundler/deprecate.rb +2 -1
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/env.rb +10 -8
- data/bundler/lib/bundler/fetcher.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +10 -5
- data/bundler/lib/bundler/gem_helper.rb +1 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +12 -0
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/installer/gem_installer.rb +6 -4
- data/bundler/lib/bundler/installer/parallel_installer.rb +1 -1
- data/bundler/lib/bundler/lazy_specification.rb +1 -1
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +2 -2
- data/bundler/lib/bundler/plugin/index.rb +1 -1
- data/bundler/lib/bundler/process_lock.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +10 -9
- data/bundler/lib/bundler/resolver/spec_group.rb +0 -4
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/runtime.rb +1 -1
- data/bundler/lib/bundler/shared_helpers.rb +15 -3
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +6 -2
- data/bundler/lib/bundler/source/rubygems/remote.rb +4 -1
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -0
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +2 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +7 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/man/bundle-binstubs.ronn +1 -1
- data/bundler/man/bundle-config.ronn +4 -4
- data/bundler/man/bundle-exec.ronn +2 -2
- data/bundler/man/bundle-gem.ronn +1 -1
- data/bundler/man/bundle-install.ronn +12 -3
- data/bundler/man/bundle-lock.ronn +1 -1
- data/bundler/man/bundle-outdated.ronn +1 -1
- data/bundler/man/bundle-package.ronn +3 -3
- data/bundler/man/bundle-show.ronn +3 -2
- data/bundler/man/bundle-update.ronn +18 -14
- data/bundler/man/bundle-viz.ronn +1 -1
- data/bundler/man/bundle.ronn +18 -18
- data/bundler/man/gemfile.5.ronn +23 -8
- data/lib/rubygems.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +7 -0
- data/lib/rubygems/commands/push_command.rb +36 -3
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +2 -7
- data/lib/rubygems/install_update_options.rb +1 -1
- data/lib/rubygems/package/tar_header.rb +3 -1
- data/lib/rubygems/package/tar_writer.rb +2 -3
- data/lib/rubygems/request_set.rb +25 -16
- data/lib/rubygems/requirement.rb +14 -3
- data/lib/rubygems/resolver/api_specification.rb +5 -0
- data/lib/rubygems/security.rb +6 -1
- data/lib/rubygems/util/licenses.rb +35 -4
- data/lib/rubygems/version.rb +7 -2
- data/test/rubygems/test_gem_commands_build_command.rb +2 -0
- data/test/rubygems/test_gem_commands_install_command.rb +37 -0
- data/test/rubygems/test_gem_commands_push_command.rb +20 -0
- data/test/rubygems/test_gem_install_update_options.rb +2 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +5 -1
- data/test/rubygems/test_gem_request.rb +5 -2
- data/test/rubygems/test_gem_requirement.rb +6 -0
- data/test/rubygems/test_gem_resolver_api_specification.rb +24 -0
- data/test/rubygems/test_gem_specification.rb +17 -3
- data/test/rubygems/test_gem_version.rb +29 -3
- data/util/ci +1 -1
- data/util/generate_spdx_license_list.rb +15 -6
- metadata +2 -2
@@ -108,11 +108,21 @@ module Bundler::Molinillo
|
|
108
108
|
# dependency graph?
|
109
109
|
# @return true iff there is a path following edges within this {#graph}
|
110
110
|
def path_to?(other)
|
111
|
-
|
111
|
+
_path_to?(other)
|
112
112
|
end
|
113
113
|
|
114
114
|
alias descendent? path_to?
|
115
115
|
|
116
|
+
# @param [Vertex] other the vertex to check if there's a path to
|
117
|
+
# @param [Set<Vertex>] visited the vertices of {#graph} that have been visited
|
118
|
+
# @return [Boolean] whether there is a path to `other` from `self`
|
119
|
+
def _path_to?(other, visited = Set.new)
|
120
|
+
return false unless visited.add?(self)
|
121
|
+
return true if equal?(other)
|
122
|
+
successors.any? { |v| v._path_to?(other, visited) }
|
123
|
+
end
|
124
|
+
protected :_path_to?
|
125
|
+
|
116
126
|
# Is there a path from `other` to `self` following edges in the
|
117
127
|
# dependency graph?
|
118
128
|
# @return true iff there is a path following edges within this {#graph}
|
@@ -18,7 +18,7 @@ module Bundler::Molinillo
|
|
18
18
|
# @param [Array<Object>] required_by @see {#required_by}
|
19
19
|
def initialize(dependency, required_by = [])
|
20
20
|
@dependency = dependency
|
21
|
-
@required_by = required_by
|
21
|
+
@required_by = required_by.uniq
|
22
22
|
super()
|
23
23
|
end
|
24
24
|
|
@@ -101,9 +101,14 @@ module Bundler::Molinillo
|
|
101
101
|
printable_requirement = opts.delete(:printable_requirement) { proc { |req| req.to_s } }
|
102
102
|
additional_message_for_conflict = opts.delete(:additional_message_for_conflict) { proc {} }
|
103
103
|
version_for_spec = opts.delete(:version_for_spec) { proc(&:to_s) }
|
104
|
+
incompatible_version_message_for_conflict = opts.delete(:incompatible_version_message_for_conflict) do
|
105
|
+
proc do |name, _conflict|
|
106
|
+
%(#{solver_name} could not find compatible versions for #{possibility_type} "#{name}":)
|
107
|
+
end
|
108
|
+
end
|
104
109
|
|
105
110
|
conflicts.sort.reduce(''.dup) do |o, (name, conflict)|
|
106
|
-
o <<
|
111
|
+
o << "\n" << incompatible_version_message_for_conflict.call(name, conflict) << "\n"
|
107
112
|
if conflict.locked_requirement
|
108
113
|
o << %( In snapshot (#{name_for_locking_dependency_source}):\n)
|
109
114
|
o << %( #{printable_requirement.call(conflict.locked_requirement)}\n)
|
@@ -7,7 +7,7 @@ module Bundler
|
|
7
7
|
# We're doing this because we might write tests that deal
|
8
8
|
# with other versions of bundler and we are unsure how to
|
9
9
|
# handle this better.
|
10
|
-
VERSION = "1.16.
|
10
|
+
VERSION = "1.16.6" unless defined?(::Bundler::VERSION)
|
11
11
|
|
12
12
|
def self.overwrite_loaded_gem_version
|
13
13
|
begin
|
@@ -40,4 +40,4 @@ Calling binstubs with [GEM [GEM]] will create binstubs for all given gems.
|
|
40
40
|
## BUNDLE INSTALL --BINSTUBS
|
41
41
|
|
42
42
|
To create binstubs for all the gems in the bundle you can use the `--binstubs`
|
43
|
-
flag in [bundle install(1)]
|
43
|
+
flag in [bundle install(1)](bundle-install.1.html).
|
@@ -102,11 +102,11 @@ After running this command, every time bundler needs to install the
|
|
102
102
|
Configuration keys in bundler have two forms: the canonical form and the
|
103
103
|
environment variable form.
|
104
104
|
|
105
|
-
For instance, passing the `--without` flag to [bundle install(1)]
|
105
|
+
For instance, passing the `--without` flag to [bundle install(1)](bundle-install.1.html)
|
106
106
|
prevents Bundler from installing certain groups specified in the Gemfile(5). Bundler
|
107
107
|
persists this value in `app/.bundle/config` so that calls to `Bundler.setup`
|
108
108
|
do not try to find gems from the `Gemfile` that you didn't install. Additionally,
|
109
|
-
subsequent calls to [bundle install(1)]
|
109
|
+
subsequent calls to [bundle install(1)](bundle-install.1.html) remember this setting
|
110
110
|
and skip those groups.
|
111
111
|
|
112
112
|
The canonical form of this configuration is `"without"`. To convert the canonical
|
@@ -120,7 +120,7 @@ the environment variable `BUNDLE_LOCAL__RACK`.
|
|
120
120
|
## LIST OF AVAILABLE KEYS
|
121
121
|
|
122
122
|
The following is a list of all configuration keys and their purpose. You can
|
123
|
-
learn more about their operation in [bundle install(1)]
|
123
|
+
learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
124
124
|
|
125
125
|
* `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
|
126
126
|
Allow resolving to specifications that have dependencies on `bundler` that
|
@@ -281,7 +281,7 @@ learn more about their operation in [bundle install(1)][bundle-install(1)].
|
|
281
281
|
A `:`-separated list of groups whose gems bundler should not install.
|
282
282
|
|
283
283
|
In general, you should set these settings per-application by using the applicable
|
284
|
-
flag to the [bundle install(1)]
|
284
|
+
flag to the [bundle install(1)](bundle-install.1.html) or [bundle package(1)](bundle-package.1.html) command.
|
285
285
|
|
286
286
|
You can set them globally either via environment variables or `bundle config`,
|
287
287
|
whichever is preferable for your setup. If you use both, environment variables
|
@@ -12,7 +12,7 @@ This command executes the command, making all gems specified in the
|
|
12
12
|
|
13
13
|
Essentially, if you would normally have run something like
|
14
14
|
`rspec spec/my_spec.rb`, and you want to use the gems specified
|
15
|
-
in the [`Gemfile(5)`][Gemfile(5)] and installed via [bundle install(1)]
|
15
|
+
in the [`Gemfile(5)`][Gemfile(5)] and installed via [bundle install(1)](bundle-install.1.html), you
|
16
16
|
should run `bundle exec rspec spec/my_spec.rb`.
|
17
17
|
|
18
18
|
Note that `bundle exec` does not require that an executable is
|
@@ -27,7 +27,7 @@ available on your shell's `$PATH`.
|
|
27
27
|
|
28
28
|
## BUNDLE INSTALL --BINSTUBS
|
29
29
|
|
30
|
-
If you use the `--binstubs` flag in [bundle install(1)]
|
30
|
+
If you use the `--binstubs` flag in [bundle install(1)](bundle-install.1.html), Bundler will
|
31
31
|
automatically create a directory (which defaults to `app_root/bin`)
|
32
32
|
containing all of the executables available from gems in the bundle.
|
33
33
|
|
data/bundler/man/bundle-gem.ronn
CHANGED
@@ -290,12 +290,21 @@ of a dependency of a gem in your Gemfile(5)) can result in radically
|
|
290
290
|
different gems being needed to satisfy all dependencies.
|
291
291
|
|
292
292
|
As a result, you `SHOULD` check your `Gemfile.lock` into version
|
293
|
-
control. If you do not, every machine that
|
294
|
-
repository (including your production server) will resolve all
|
293
|
+
control, in both applications and gems. If you do not, every machine that
|
294
|
+
checks out your repository (including your production server) will resolve all
|
295
295
|
dependencies again, which will result in different versions of
|
296
296
|
third-party code being used if `any` of the gems in the Gemfile(5)
|
297
297
|
or any of their dependencies have been updated.
|
298
298
|
|
299
|
+
When Bundler first shipped, the `Gemfile.lock` was included in the `.gitignore`
|
300
|
+
file included with generated gems. Over time, however, it became clear that
|
301
|
+
this practice forces the pain of broken dependencies onto new contributors,
|
302
|
+
while leaving existing contributors potentially unaware of the problem. Since
|
303
|
+
`bundle install` is usually the first step towards a contribution, the pain of
|
304
|
+
broken dependencies would discourage new contributors from contributing. As a
|
305
|
+
result, we have revised our guidance for gem authors to now recommend checking
|
306
|
+
in the lock for gems.
|
307
|
+
|
299
308
|
## CONSERVATIVE UPDATING
|
300
309
|
|
301
310
|
When you make a change to the Gemfile(5) and then run `bundle install`,
|
@@ -361,7 +370,7 @@ which other gems in the Gemfile(5) still depend on, run
|
|
361
370
|
`Summary`: In general, after making a change to the Gemfile(5) , you
|
362
371
|
should first try to run `bundle install`, which will guarantee that no
|
363
372
|
other gem in the Gemfile(5) is impacted by the change. If that
|
364
|
-
does not work, run [bundle update(1)]
|
373
|
+
does not work, run [bundle update(1)](bundle-update.1.html).
|
365
374
|
|
366
375
|
## SEE ALSO
|
367
376
|
|
@@ -69,7 +69,7 @@ are up to date, Bundler will exit with a status of 0. Otherwise, it will exit 1.
|
|
69
69
|
|
70
70
|
## PATCH LEVEL OPTIONS
|
71
71
|
|
72
|
-
See [bundle update(1)]
|
72
|
+
See [bundle update(1)](bundle-update.1.html) for details.
|
73
73
|
|
74
74
|
One difference between the patch level options in `bundle update` and here is the `--strict` option.
|
75
75
|
`--strict` was already an option on outdated before the patch level options were added. `--strict`
|
@@ -27,8 +27,8 @@ in your local bundler configuration.
|
|
27
27
|
|
28
28
|
## REMOTE FETCHING
|
29
29
|
|
30
|
-
By default, if you run `bundle install(1)`]
|
31
|
-
[bundle package(1)]
|
30
|
+
By default, if you run `bundle install(1)`](bundle-install.1.html) after running
|
31
|
+
[bundle package(1)](bundle-package.1.html), bundler will still connect to `rubygems.org`
|
32
32
|
to check whether a platform-specific gem exists for any of the gems
|
33
33
|
in `vendor/cache`.
|
34
34
|
|
@@ -66,7 +66,7 @@ machine and check in the gems. For instance, you can run
|
|
66
66
|
staging process, and check in the `vendor/cache` before
|
67
67
|
deploying to production.
|
68
68
|
|
69
|
-
By default, [bundle package(1)]
|
69
|
+
By default, [bundle package(1)](bundle-package.1.html) fetches and also
|
70
70
|
installs the gems to the default location. To package the
|
71
71
|
dependencies to `vendor/cache` without installing them to the
|
72
72
|
local install location, you can run `bundle package --no-install`.
|
@@ -9,7 +9,7 @@ bundle-show(1) -- Shows all the gems in your bundle, or the path to a gem
|
|
9
9
|
## DESCRIPTION
|
10
10
|
|
11
11
|
Without the [GEM] option, `show` will print a list of the names and versions of
|
12
|
-
all gems that are required by your [`Gemfile(5)`][Gemfile(5)].
|
12
|
+
all gems that are required by your [`Gemfile(5)`][Gemfile(5)], sorted by name.
|
13
13
|
|
14
14
|
Calling show with [GEM] will list the exact location of that gem on your
|
15
15
|
machine.
|
@@ -17,4 +17,5 @@ machine.
|
|
17
17
|
## OPTIONS
|
18
18
|
|
19
19
|
* `--paths`:
|
20
|
-
List the paths of all gems that are required by your [`Gemfile(5)`][Gemfile(5)]
|
20
|
+
List the paths of all gems that are required by your [`Gemfile(5)`][Gemfile(5)],
|
21
|
+
sorted by gem name.
|
@@ -3,7 +3,8 @@ bundle-update(1) -- Update your gems to the latest available versions
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle update` <*gems> [--
|
6
|
+
`bundle update` <*gems> [--all]
|
7
|
+
[--group=NAME]
|
7
8
|
[--source=NAME]
|
8
9
|
[--local]
|
9
10
|
[--ruby]
|
@@ -18,9 +19,9 @@ bundle-update(1) -- Update your gems to the latest available versions
|
|
18
19
|
|
19
20
|
## DESCRIPTION
|
20
21
|
|
21
|
-
Update the gems specified (all gems, if
|
22
|
+
Update the gems specified (all gems, if `--all` flag is used), ignoring
|
22
23
|
the previously installed gems specified in the `Gemfile.lock`. In
|
23
|
-
general, you should use [bundle install(1)]
|
24
|
+
general, you should use [bundle install(1)](bundle-install.1.html) to install the same exact
|
24
25
|
gems and versions across machines.
|
25
26
|
|
26
27
|
You would use `bundle update` to explicitly update the version of a
|
@@ -28,6 +29,9 @@ gem.
|
|
28
29
|
|
29
30
|
## OPTIONS
|
30
31
|
|
32
|
+
* `--all`:
|
33
|
+
Update all gems specified in Gemfile.
|
34
|
+
|
31
35
|
* `--group=<name>`, `-g=[<name>]`:
|
32
36
|
Only update the gems in the specified group. For instance, you can update all gems
|
33
37
|
in the development group with `bundle update --group development`. You can also
|
@@ -80,7 +84,7 @@ gem.
|
|
80
84
|
|
81
85
|
## UPDATING ALL GEMS
|
82
86
|
|
83
|
-
If you run `bundle update
|
87
|
+
If you run `bundle update --all`, bundler will ignore
|
84
88
|
any previously installed gems and resolve all dependencies again
|
85
89
|
based on the latest versions of all gems available in the sources.
|
86
90
|
|
@@ -91,7 +95,7 @@ Consider the following Gemfile(5):
|
|
91
95
|
gem "rails", "3.0.0.rc"
|
92
96
|
gem "nokogiri"
|
93
97
|
|
94
|
-
When you run [bundle install(1)]
|
98
|
+
When you run [bundle install(1)](bundle-install.1.html) the first time, bundler will resolve
|
95
99
|
all of the dependencies, all the way down, and install what you need:
|
96
100
|
|
97
101
|
Fetching gem metadata from https://rubygems.org/.........
|
@@ -128,21 +132,21 @@ all of the dependencies, all the way down, and install what you need:
|
|
128
132
|
|
129
133
|
As you can see, even though you have two gems in the Gemfile(5), your application
|
130
134
|
needs 26 different gems in order to run. Bundler remembers the exact versions
|
131
|
-
it installed in `Gemfile.lock`. The next time you run [bundle install(1)]
|
135
|
+
it installed in `Gemfile.lock`. The next time you run [bundle install(1)](bundle-install.1.html), bundler skips
|
132
136
|
the dependency resolution and installs the same gems as it installed last time.
|
133
137
|
|
134
138
|
After checking in the `Gemfile.lock` into version control and cloning it on another
|
135
|
-
machine, running [bundle install(1)]
|
139
|
+
machine, running [bundle install(1)](bundle-install.1.html) will _still_ install the gems that you installed
|
136
140
|
last time. You don't need to worry that a new release of `erubis` or `mail` changes
|
137
141
|
the gems you use.
|
138
142
|
|
139
143
|
However, from time to time, you might want to update the gems you are using to the
|
140
144
|
newest versions that still match the gems in your Gemfile(5).
|
141
145
|
|
142
|
-
To do this, run `bundle update`, which will ignore the `Gemfile.lock`, and resolve
|
146
|
+
To do this, run `bundle update --all`, which will ignore the `Gemfile.lock`, and resolve
|
143
147
|
all the dependencies again. Keep in mind that this process can result in a significantly
|
144
148
|
different set of the 25 gems, based on the requirements of new gems that the gem
|
145
|
-
authors released since the last time you ran `bundle update`.
|
149
|
+
authors released since the last time you ran `bundle update --all`.
|
146
150
|
|
147
151
|
## UPDATING A LIST OF GEMS
|
148
152
|
|
@@ -192,12 +196,12 @@ update all dependencies of that gem, including those that are also dependencies
|
|
192
196
|
of another gem.
|
193
197
|
|
194
198
|
To prevent updating shared dependencies, prior to version 1.14 the only option
|
195
|
-
was the `CONSERVATIVE UPDATING` behavior in [bundle install(1)]
|
199
|
+
was the `CONSERVATIVE UPDATING` behavior in [bundle install(1)](bundle-install.1.html):
|
196
200
|
|
197
201
|
In this scenario, updating the `thin` version manually in the Gemfile(5),
|
198
|
-
and then running [bundle install(1)]
|
202
|
+
and then running [bundle install(1)](bundle-install.1.html) will only update `daemons` and `eventmachine`,
|
199
203
|
but not `rack`. For more information, see the `CONSERVATIVE UPDATING` section
|
200
|
-
of [bundle install(1)]
|
204
|
+
of [bundle install(1)](bundle-install.1.html).
|
201
205
|
|
202
206
|
Starting with 1.14, specifying the `--conservative` option will also prevent shared
|
203
207
|
dependencies from being updated.
|
@@ -335,7 +339,7 @@ use the following workflow:
|
|
335
339
|
|
336
340
|
$ git add Gemfile.lock
|
337
341
|
|
338
|
-
* If [bundle install(1)]
|
342
|
+
* If [bundle install(1)](bundle-install.1.html) reports a conflict, manually update the specific
|
339
343
|
gems that you changed in the Gemfile(5)
|
340
344
|
|
341
345
|
$ bundle update rails thin
|
@@ -343,4 +347,4 @@ use the following workflow:
|
|
343
347
|
* If you want to update all the gems to the latest possible versions that
|
344
348
|
still match the gems listed in the Gemfile(5), run
|
345
349
|
|
346
|
-
$ bundle update
|
350
|
+
$ bundle update --all
|
data/bundler/man/bundle-viz.ronn
CHANGED
@@ -14,7 +14,7 @@ bundle-viz(1) -- Generates a visual dependency graph for your Gemfile
|
|
14
14
|
`viz` generates a PNG file of the current `Gemfile(5)` as a dependency graph.
|
15
15
|
`viz` requires the ruby-graphviz gem (and its dependencies).
|
16
16
|
|
17
|
-
The associated gems must also be installed via [`bundle install(1)`]
|
17
|
+
The associated gems must also be installed via [`bundle install(1)`](bundle-install.1.html).
|
18
18
|
|
19
19
|
## OPTIONS
|
20
20
|
|
data/bundler/man/bundle.ronn
CHANGED
@@ -30,20 +30,20 @@ We divide `bundle` subcommands into primary commands and utilities:
|
|
30
30
|
|
31
31
|
## PRIMARY COMMANDS
|
32
32
|
|
33
|
-
* [`bundle install(1)`]
|
33
|
+
* [`bundle install(1)`](bundle-install.1.html):
|
34
34
|
Install the gems specified by the `Gemfile` or `Gemfile.lock`
|
35
35
|
|
36
|
-
* [`bundle update(1)`]
|
36
|
+
* [`bundle update(1)`](bundle-update.1.html):
|
37
37
|
Update dependencies to their latest versions
|
38
38
|
|
39
|
-
* [`bundle package(1)`]
|
39
|
+
* [`bundle package(1)`](bundle-package.1.html):
|
40
40
|
Package the .gem files required by your application into the
|
41
41
|
`vendor/cache` directory
|
42
42
|
|
43
|
-
* [`bundle exec(1)`]
|
43
|
+
* [`bundle exec(1)`](bundle-exec.1.html):
|
44
44
|
Execute a script in the current bundle
|
45
45
|
|
46
|
-
* [`bundle config(1)`]
|
46
|
+
* [`bundle config(1)`](bundle-config.1.html):
|
47
47
|
Specify and read configuration options for Bundler
|
48
48
|
|
49
49
|
* `bundle help(1)`:
|
@@ -51,47 +51,47 @@ We divide `bundle` subcommands into primary commands and utilities:
|
|
51
51
|
|
52
52
|
## UTILITIES
|
53
53
|
|
54
|
-
* [`bundle add(1)`]
|
54
|
+
* [`bundle add(1)`](bundle-add.1.html):
|
55
55
|
Add the named gem to the Gemfile and run `bundle install`
|
56
56
|
|
57
|
-
* [`bundle binstubs(1)`]
|
57
|
+
* [`bundle binstubs(1)`](bundle-binstubs.1.html):
|
58
58
|
Generate binstubs for executables in a gem
|
59
59
|
|
60
|
-
* [`bundle check(1)`]
|
60
|
+
* [`bundle check(1)`](bundle-check.1.html):
|
61
61
|
Determine whether the requirements for your application are installed
|
62
62
|
and available to Bundler
|
63
63
|
|
64
|
-
* [`bundle show(1)`]
|
64
|
+
* [`bundle show(1)`](bundle-show.1.html):
|
65
65
|
Show the source location of a particular gem in the bundle
|
66
66
|
|
67
|
-
* [`bundle outdated(1)`]
|
67
|
+
* [`bundle outdated(1)`](bundle-outdated.1.html):
|
68
68
|
Show all of the outdated gems in the current bundle
|
69
69
|
|
70
70
|
* `bundle console(1)`:
|
71
71
|
Start an IRB session in the current bundle
|
72
72
|
|
73
|
-
* [`bundle open(1)`]
|
73
|
+
* [`bundle open(1)`](bundle-open.1.html):
|
74
74
|
Open an installed gem in the editor
|
75
75
|
|
76
|
-
* [`bundle lock(1)`]
|
76
|
+
* [`bundle lock(1)`](bundle-lock.1.hmtl):
|
77
77
|
Generate a lockfile for your dependencies
|
78
78
|
|
79
|
-
* [`bundle viz(1)`]
|
79
|
+
* [`bundle viz(1)`](bundle-viz.1.html):
|
80
80
|
Generate a visual representation of your dependencies
|
81
81
|
|
82
|
-
* [`bundle init(1)`]
|
82
|
+
* [`bundle init(1)`](bundle-init.1.html):
|
83
83
|
Generate a simple `Gemfile`, placed in the current directory
|
84
84
|
|
85
|
-
* [`bundle gem(1)`]
|
85
|
+
* [`bundle gem(1)`](bundle-gem.1.html):
|
86
86
|
Create a simple gem, suitable for development with Bundler
|
87
87
|
|
88
|
-
* [`bundle platform(1)`]
|
88
|
+
* [`bundle platform(1)`](bundle-platform.1.html):
|
89
89
|
Display platform compatibility information
|
90
90
|
|
91
|
-
* [`bundle clean(1)`]
|
91
|
+
* [`bundle clean(1)`](bundle-clean.1.html):
|
92
92
|
Clean up unused gems in your Bundler directory
|
93
93
|
|
94
|
-
* `bundle doctor(1)
|
94
|
+
* [`bundle doctor(1)`](bundle-doctor.1.html):
|
95
95
|
Display warnings about common problems
|
96
96
|
|
97
97
|
## PLUGINS
|
data/bundler/man/gemfile.5.ronn
CHANGED
@@ -35,7 +35,7 @@ this warning, by using the [`:source` option](#SOURCE) or a
|
|
35
35
|
|
36
36
|
### CREDENTIALS
|
37
37
|
|
38
|
-
Some gem sources require a username and password. Use [bundle config(1)]
|
38
|
+
Some gem sources require a username and password. Use [bundle config(1)](bundle-config.1.html) to set
|
39
39
|
the username and password for any of the sources that need it. The command must
|
40
40
|
be run once on each computer that will install the Gemfile, but this keeps the
|
41
41
|
credentials from being stored in plain text in version control.
|
@@ -59,8 +59,8 @@ All parameters are `OPTIONAL` unless otherwise specified.
|
|
59
59
|
### VERSION (required)
|
60
60
|
|
61
61
|
The version of Ruby that your application requires. If your application
|
62
|
-
requires an alternate Ruby engine, such as JRuby or
|
63
|
-
the Ruby version that the engine is compatible with.
|
62
|
+
requires an alternate Ruby engine, such as JRuby, Rubinius or TruffleRuby, this
|
63
|
+
should be the Ruby version that the engine is compatible with.
|
64
64
|
|
65
65
|
ruby "1.9.3"
|
66
66
|
|
@@ -188,22 +188,24 @@ platforms.
|
|
188
188
|
There are a number of `Gemfile` platforms:
|
189
189
|
|
190
190
|
* `ruby`:
|
191
|
-
C Ruby (MRI) or
|
191
|
+
C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
|
192
192
|
* `mri`:
|
193
|
-
Same as _ruby_, but
|
193
|
+
Same as _ruby_, but only C Ruby (MRI)
|
194
194
|
* `mingw`:
|
195
195
|
Windows 32 bit 'mingw32' platform (aka RubyInstaller)
|
196
196
|
* `x64_mingw`:
|
197
197
|
Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
|
198
198
|
* `rbx`:
|
199
|
-
|
199
|
+
Rubinius
|
200
200
|
* `jruby`:
|
201
201
|
JRuby
|
202
|
+
* `truffleruby`:
|
203
|
+
TruffleRuby
|
202
204
|
* `mswin`:
|
203
205
|
Windows
|
204
206
|
|
205
207
|
You can restrict further by platform and version for all platforms *except* for
|
206
|
-
`rbx`, `jruby`, and `mswin`.
|
208
|
+
`rbx`, `jruby`, `truffleruby` and `mswin`.
|
207
209
|
|
208
210
|
To specify a version in addition to a platform, append the version number without
|
209
211
|
the delimiter to the platform. For example, to specify that a gem should only be
|
@@ -228,7 +230,7 @@ As with groups, you can specify one or more platforms:
|
|
228
230
|
gem "ruby-debug", :platforms => :mri_18
|
229
231
|
gem "nokogiri", :platforms => [:mri_18, :jruby]
|
230
232
|
|
231
|
-
All operations involving groups ([`bundle install`]
|
233
|
+
All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
|
232
234
|
`Bundler.require`) behave exactly the same as if any groups not
|
233
235
|
matching the current platform were explicitly excluded.
|
234
236
|
|
@@ -251,6 +253,12 @@ Selecting a specific source repository this way also suppresses the ambiguous
|
|
251
253
|
gem warning described above in
|
252
254
|
[GLOBAL SOURCES (#source)](#GLOBAL-SOURCES).
|
253
255
|
|
256
|
+
Using the `:source` option for an individual gem will also make that source
|
257
|
+
available as a possible global source for any other gems which do not specify
|
258
|
+
explicit sources. Thus, when adding gems with explicit sources, it is
|
259
|
+
recommended that you also ensure all other gems in the Gemfile are using
|
260
|
+
explicit sources.
|
261
|
+
|
254
262
|
### GIT
|
255
263
|
|
256
264
|
If necessary, you can specify that a gem is located at a particular
|
@@ -453,6 +461,13 @@ In the case of the `git` block form, the `:ref`, `:branch`, `:tag`,
|
|
453
461
|
and `:submodules` options may be passed to the `git` method, and
|
454
462
|
all gems in the block will inherit those options.
|
455
463
|
|
464
|
+
The presence of a `source` block in a Gemfile also makes that source
|
465
|
+
available as a possible global source for any other gems which do not specify
|
466
|
+
explicit sources. Thus, when defining source blocks, it is
|
467
|
+
recommended that you also ensure all other gems in the Gemfile are using
|
468
|
+
explicit sources, either via source blocks or `:source` directives on
|
469
|
+
individual gems.
|
470
|
+
|
456
471
|
## INSTALL_IF
|
457
472
|
|
458
473
|
The `install_if` method allows gems to be installed based on a proc or lambda.
|