bundler 1.15.1 → 1.17.3
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 +5 -5
- data/CHANGELOG.md +320 -0
- data/README.md +17 -8
- data/bundler.gemspec +25 -9
- data/exe/bundle +1 -6
- data/exe/bundle_ruby +4 -3
- data/lib/bundler/build_metadata.rb +53 -0
- data/lib/bundler/capistrano.rb +5 -0
- data/lib/bundler/cli/add.rb +15 -6
- data/lib/bundler/cli/binstubs.rb +17 -9
- data/lib/bundler/cli/cache.rb +5 -4
- data/lib/bundler/cli/check.rb +3 -5
- data/lib/bundler/cli/clean.rb +5 -6
- data/lib/bundler/cli/common.rb +11 -2
- data/lib/bundler/cli/config.rb +2 -1
- data/lib/bundler/cli/console.rb +2 -1
- data/lib/bundler/cli/doctor.rb +48 -1
- data/lib/bundler/cli/exec.rb +6 -5
- data/lib/bundler/cli/gem.rb +13 -8
- data/lib/bundler/cli/info.rb +0 -1
- data/lib/bundler/cli/init.rb +18 -6
- data/lib/bundler/cli/inject.rb +1 -0
- data/lib/bundler/cli/install.rb +64 -77
- data/lib/bundler/cli/issue.rb +1 -1
- data/lib/bundler/cli/list.rb +58 -0
- data/lib/bundler/cli/lock.rb +0 -1
- data/lib/bundler/cli/open.rb +2 -2
- data/lib/bundler/cli/outdated.rb +20 -9
- data/lib/bundler/cli/package.rb +9 -6
- data/lib/bundler/cli/platform.rb +1 -0
- data/lib/bundler/cli/plugin.rb +1 -0
- data/lib/bundler/cli/pristine.rb +20 -6
- data/lib/bundler/cli/remove.rb +18 -0
- data/lib/bundler/cli/show.rb +0 -1
- data/lib/bundler/cli/update.rb +35 -7
- data/lib/bundler/cli/viz.rb +4 -0
- data/lib/bundler/cli.rb +234 -90
- data/lib/bundler/compact_index_client/cache.rb +1 -2
- data/lib/bundler/compact_index_client/updater.rb +35 -7
- data/lib/bundler/compact_index_client.rb +1 -0
- data/lib/bundler/compatibility_guard.rb +14 -0
- data/lib/bundler/constants.rb +1 -0
- data/lib/bundler/current_ruby.rb +13 -5
- data/lib/bundler/definition.rb +192 -139
- data/lib/bundler/dep_proxy.rb +3 -1
- data/lib/bundler/dependency.rb +9 -9
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/deprecate.rb +15 -3
- data/lib/bundler/dsl.rb +115 -64
- data/lib/bundler/endpoint_specification.rb +10 -1
- data/lib/bundler/env.rb +90 -29
- data/lib/bundler/environment_preserver.rb +27 -6
- data/lib/bundler/errors.rb +1 -0
- data/lib/bundler/feature_flag.rb +46 -4
- data/lib/bundler/fetcher/base.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +2 -11
- data/lib/bundler/fetcher/dependency.rb +2 -1
- data/lib/bundler/fetcher/downloader.rb +11 -5
- data/lib/bundler/fetcher/index.rb +3 -2
- data/lib/bundler/fetcher.rb +18 -11
- data/lib/bundler/friendly_errors.rb +6 -1
- data/lib/bundler/gem_helper.rb +19 -10
- data/lib/bundler/gem_helpers.rb +1 -0
- data/lib/bundler/gem_remote_fetcher.rb +1 -0
- data/lib/bundler/gem_tasks.rb +1 -0
- data/lib/bundler/gem_version_promoter.rb +17 -2
- data/lib/bundler/gemdeps.rb +1 -0
- data/lib/bundler/graph.rb +1 -0
- data/lib/bundler/index.rb +8 -8
- data/lib/bundler/injector.rb +192 -30
- data/lib/bundler/inline.rb +10 -10
- data/lib/bundler/installer/gem_installer.rb +12 -2
- data/lib/bundler/installer/parallel_installer.rb +78 -42
- data/lib/bundler/installer/standalone.rb +1 -0
- data/lib/bundler/installer.rb +138 -53
- data/lib/bundler/lazy_specification.rb +3 -2
- data/lib/bundler/lockfile_generator.rb +95 -0
- data/lib/bundler/lockfile_parser.rb +10 -4
- data/lib/bundler/match_platform.rb +1 -0
- data/lib/bundler/mirror.rb +8 -5
- data/lib/bundler/plugin/api/source.rb +9 -2
- data/lib/bundler/plugin/events.rb +61 -0
- data/lib/bundler/plugin/index.rb +7 -2
- data/lib/bundler/plugin/installer.rb +7 -6
- data/lib/bundler/plugin/source_list.rb +7 -8
- data/lib/bundler/plugin.rb +13 -5
- data/lib/bundler/process_lock.rb +24 -0
- data/lib/bundler/psyched_yaml.rb +10 -0
- data/lib/bundler/remote_specification.rb +10 -1
- data/lib/bundler/resolver/spec_group.rb +106 -0
- data/lib/bundler/resolver.rb +158 -195
- data/lib/bundler/retry.rb +1 -0
- data/lib/bundler/ruby_dsl.rb +1 -0
- data/lib/bundler/ruby_version.rb +2 -1
- data/lib/bundler/rubygems_ext.rb +5 -4
- data/lib/bundler/rubygems_gem_installer.rb +31 -1
- data/lib/bundler/rubygems_integration.rb +71 -32
- data/lib/bundler/runtime.rb +11 -9
- data/lib/bundler/settings/validator.rb +102 -0
- data/lib/bundler/settings.rb +213 -86
- data/lib/bundler/setup.rb +4 -7
- data/lib/bundler/shared_helpers.rb +131 -26
- data/lib/bundler/similarity_detector.rb +1 -0
- data/lib/bundler/source/gemspec.rb +1 -0
- data/lib/bundler/source/git/git_proxy.rb +21 -11
- data/lib/bundler/source/git.rb +24 -19
- data/lib/bundler/source/metadata.rb +62 -0
- data/lib/bundler/source/path/installer.rb +2 -0
- data/lib/bundler/source/path.rb +11 -7
- data/lib/bundler/source/rubygems/remote.rb +8 -2
- data/lib/bundler/source/rubygems.rb +161 -84
- data/lib/bundler/source.rb +36 -0
- data/lib/bundler/source_list.rb +75 -15
- data/lib/bundler/spec_set.rb +12 -6
- data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
- data/lib/bundler/stub_specification.rb +1 -0
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +12 -0
- data/lib/bundler/templates/Executable.bundler +105 -0
- data/lib/bundler/templates/Gemfile +3 -0
- data/lib/bundler/templates/gems.rb +8 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +2 -0
- data/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/lib/bundler/templates/newgem/gitignore.tt +0 -1
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +12 -3
- data/lib/bundler/templates/newgem/rspec.tt +1 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -2
- data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
- data/lib/bundler/ui/rg_proxy.rb +1 -0
- data/lib/bundler/ui/shell.rb +17 -4
- data/lib/bundler/ui/silent.rb +1 -0
- data/lib/bundler/ui.rb +1 -0
- data/lib/bundler/uri_credentials_filter.rb +1 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +15 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +491 -148
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +3 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +9 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +45 -8
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +9 -3
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -3
- data/lib/bundler/vendor/thor/lib/thor/base.rb +27 -4
- data/lib/bundler/vendor/thor/lib/thor/command.rb +9 -7
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +12 -0
- data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +5 -5
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +6 -5
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +6 -4
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +10 -9
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +25 -8
- data/lib/bundler/vendored_fileutils.rb +9 -0
- data/lib/bundler/vendored_molinillo.rb +1 -0
- data/lib/bundler/vendored_persistent.rb +35 -0
- data/lib/bundler/vendored_thor.rb +1 -0
- data/lib/bundler/version.rb +6 -2
- data/lib/bundler/version_ranges.rb +1 -0
- data/lib/bundler/vlad.rb +5 -0
- data/lib/bundler/worker.rb +1 -0
- data/lib/bundler/yaml_serializer.rb +3 -3
- data/lib/bundler.rb +86 -52
- data/man/bundle-add.1 +18 -3
- data/man/bundle-add.1.txt +26 -14
- data/man/bundle-add.ronn +13 -2
- data/man/bundle-binstubs.1 +11 -1
- data/man/bundle-binstubs.1.txt +33 -18
- data/man/bundle-binstubs.ronn +15 -1
- data/man/bundle-check.1 +4 -4
- data/man/bundle-check.1.txt +15 -14
- data/man/bundle-check.ronn +3 -3
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-clean.1.txt +10 -10
- data/man/bundle-config.1 +129 -29
- data/man/bundle-config.1.txt +285 -174
- data/man/bundle-config.ronn +167 -88
- data/man/bundle-doctor.1 +44 -0
- data/man/bundle-doctor.1.txt +44 -0
- data/man/bundle-doctor.ronn +33 -0
- data/man/bundle-exec.1 +6 -3
- data/man/bundle-exec.1.txt +78 -71
- data/man/bundle-exec.ronn +10 -3
- data/man/bundle-gem.1 +4 -4
- data/man/bundle-gem.1.txt +41 -40
- data/man/bundle-gem.ronn +3 -2
- data/man/bundle-info.1 +1 -1
- data/man/bundle-info.1.txt +8 -8
- data/man/bundle-init.1 +9 -4
- data/man/bundle-init.1.txt +23 -13
- data/man/bundle-init.ronn +15 -4
- data/man/bundle-inject.1 +4 -4
- data/man/bundle-inject.1.txt +10 -10
- data/man/bundle-inject.ronn +3 -3
- data/man/bundle-install.1 +31 -28
- data/man/bundle-install.1.txt +205 -194
- data/man/bundle-install.ronn +44 -35
- data/man/bundle-list.1 +50 -0
- data/man/bundle-list.1.txt +43 -0
- data/man/bundle-list.ronn +33 -0
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-lock.1.txt +47 -47
- data/man/bundle-lock.ronn +1 -1
- data/man/bundle-open.1 +1 -1
- data/man/bundle-open.1.txt +7 -7
- data/man/bundle-outdated.1 +7 -3
- data/man/bundle-outdated.1.txt +40 -36
- data/man/bundle-outdated.ronn +6 -2
- data/man/bundle-package.1 +6 -3
- data/man/bundle-package.1.txt +44 -39
- data/man/bundle-package.ronn +7 -2
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-platform.1.txt +13 -13
- data/man/bundle-pristine.1 +21 -3
- data/man/bundle-pristine.1.txt +33 -10
- data/man/bundle-pristine.ronn +24 -3
- data/man/bundle-remove.1 +31 -0
- data/man/bundle-remove.1.txt +34 -0
- data/man/bundle-remove.ronn +23 -0
- data/man/bundle-show.1 +3 -3
- data/man/bundle-show.1.txt +14 -12
- data/man/bundle-show.ronn +3 -2
- data/man/bundle-update.1 +13 -9
- data/man/bundle-update.1.txt +133 -130
- data/man/bundle-update.ronn +21 -17
- data/man/bundle-viz.1 +7 -7
- data/man/bundle-viz.1.txt +17 -15
- data/man/bundle-viz.ronn +6 -6
- data/man/bundle.1 +31 -32
- data/man/bundle.1.txt +63 -75
- data/man/bundle.ronn +35 -47
- data/man/gemfile.5 +44 -8
- data/man/gemfile.5.ronn +54 -8
- data/man/gemfile.5.txt +218 -165
- data/man/index.txt +25 -15
- metadata +36 -44
- data/.codeclimate.yml +0 -25
- data/.gitignore +0 -18
- data/.rspec +0 -3
- data/.rubocop.yml +0 -131
- data/.rubocop_todo.yml +0 -418
- data/.travis.yml +0 -122
- data/CODE_OF_CONDUCT.md +0 -42
- data/CONTRIBUTING.md +0 -17
- data/Rakefile +0 -346
- data/bin/rake +0 -19
- data/bin/rspec +0 -15
- data/bin/rubocop +0 -17
- data/bin/with_rubygems +0 -39
- data/doc/README.md +0 -30
- data/doc/TROUBLESHOOTING.md +0 -64
- data/doc/contributing/BUG_TRIAGE.md +0 -36
- data/doc/contributing/COMMUNITY.md +0 -13
- data/doc/contributing/GETTING_HELP.md +0 -11
- data/doc/contributing/HOW_YOU_CAN_HELP.md +0 -27
- data/doc/contributing/ISSUES.md +0 -51
- data/doc/contributing/README.md +0 -38
- data/doc/development/NEW_FEATURES.md +0 -10
- data/doc/development/PULL_REQUESTS.md +0 -40
- data/doc/development/README.md +0 -19
- data/doc/development/RELEASING.md +0 -9
- data/doc/development/SETUP.md +0 -29
- data/doc/documentation/README.md +0 -29
- data/doc/documentation/VISION.md +0 -26
- data/doc/documentation/WRITING.md +0 -54
- data/lib/bundler/postit_trampoline.rb +0 -73
- data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
- data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
- data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
- data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
- data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
- data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
- data/task/release.rake +0 -116
data/man/bundle.ronn
CHANGED
@@ -18,78 +18,84 @@ started, and Gemfile(5) for more information on the `Gemfile` format.
|
|
18
18
|
* `--no-color`:
|
19
19
|
Print all output without color
|
20
20
|
|
21
|
-
* `--
|
21
|
+
* `--retry`, `-r`:
|
22
|
+
Specify the number of times you wish to attempt network commands
|
23
|
+
|
24
|
+
* `--verbose`, `-V`:
|
22
25
|
Print out additional logging information
|
23
26
|
|
24
27
|
## BUNDLE COMMANDS
|
25
28
|
|
26
|
-
We divide `bundle` subcommands into primary commands and utilities
|
29
|
+
We divide `bundle` subcommands into primary commands and utilities:
|
27
30
|
|
28
31
|
## PRIMARY COMMANDS
|
29
32
|
|
30
|
-
* [`bundle install(1)`]
|
33
|
+
* [`bundle install(1)`](bundle-install.1.html):
|
31
34
|
Install the gems specified by the `Gemfile` or `Gemfile.lock`
|
32
35
|
|
33
|
-
* [`bundle update(1)`]
|
36
|
+
* [`bundle update(1)`](bundle-update.1.html):
|
34
37
|
Update dependencies to their latest versions
|
35
38
|
|
36
|
-
* [`bundle package(1)`]
|
39
|
+
* [`bundle package(1)`](bundle-package.1.html):
|
37
40
|
Package the .gem files required by your application into the
|
38
41
|
`vendor/cache` directory
|
39
42
|
|
40
|
-
* [`bundle exec(1)`]
|
41
|
-
Execute a script in the
|
43
|
+
* [`bundle exec(1)`](bundle-exec.1.html):
|
44
|
+
Execute a script in the current bundle
|
42
45
|
|
43
|
-
* [`bundle config(1)`]
|
44
|
-
Specify and read configuration options for
|
46
|
+
* [`bundle config(1)`](bundle-config.1.html):
|
47
|
+
Specify and read configuration options for Bundler
|
45
48
|
|
46
49
|
* `bundle help(1)`:
|
47
50
|
Display detailed help for each subcommand
|
48
51
|
|
49
52
|
## UTILITIES
|
50
53
|
|
51
|
-
* `bundle add(1)
|
54
|
+
* [`bundle add(1)`](bundle-add.1.html):
|
52
55
|
Add the named gem to the Gemfile and run `bundle install`
|
53
56
|
|
54
|
-
* `bundle binstubs(1)
|
57
|
+
* [`bundle binstubs(1)`](bundle-binstubs.1.html):
|
55
58
|
Generate binstubs for executables in a gem
|
56
59
|
|
57
|
-
* `bundle check(1)
|
60
|
+
* [`bundle check(1)`](bundle-check.1.html):
|
58
61
|
Determine whether the requirements for your application are installed
|
59
|
-
and available to
|
62
|
+
and available to Bundler
|
60
63
|
|
61
|
-
* `bundle show(1)
|
64
|
+
* [`bundle show(1)`](bundle-show.1.html):
|
62
65
|
Show the source location of a particular gem in the bundle
|
63
66
|
|
64
|
-
* [`bundle outdated(1)`]
|
67
|
+
* [`bundle outdated(1)`](bundle-outdated.1.html):
|
65
68
|
Show all of the outdated gems in the current bundle
|
66
69
|
|
67
70
|
* `bundle console(1)`:
|
68
|
-
Start an IRB session in the
|
71
|
+
Start an IRB session in the current bundle
|
69
72
|
|
70
|
-
* `bundle open(1)
|
73
|
+
* [`bundle open(1)`](bundle-open.1.html):
|
71
74
|
Open an installed gem in the editor
|
72
75
|
|
73
|
-
* [`bundle lock(1)`]
|
76
|
+
* [`bundle lock(1)`](bundle-lock.1.hmtl):
|
74
77
|
Generate a lockfile for your dependencies
|
75
78
|
|
76
|
-
* `bundle viz(1)
|
79
|
+
* [`bundle viz(1)`](bundle-viz.1.html):
|
77
80
|
Generate a visual representation of your dependencies
|
78
81
|
|
79
|
-
* `bundle init(1)
|
82
|
+
* [`bundle init(1)`](bundle-init.1.html):
|
80
83
|
Generate a simple `Gemfile`, placed in the current directory
|
81
84
|
|
82
|
-
* [`bundle gem(1)`]
|
83
|
-
Create a simple gem, suitable for development with
|
85
|
+
* [`bundle gem(1)`](bundle-gem.1.html):
|
86
|
+
Create a simple gem, suitable for development with Bundler
|
84
87
|
|
85
|
-
* [`bundle platform(1)`]
|
88
|
+
* [`bundle platform(1)`](bundle-platform.1.html):
|
86
89
|
Display platform compatibility information
|
87
90
|
|
88
|
-
* `bundle clean(1)
|
89
|
-
Clean up unused gems in your
|
91
|
+
* [`bundle clean(1)`](bundle-clean.1.html):
|
92
|
+
Clean up unused gems in your Bundler directory
|
93
|
+
|
94
|
+
* [`bundle doctor(1)`](bundle-doctor.1.html):
|
95
|
+
Display warnings about common problems
|
90
96
|
|
91
|
-
* `bundle
|
92
|
-
|
97
|
+
* [`bundle remove(1)`](bundle-remove.1.html):
|
98
|
+
Removes gems from the Gemfile
|
93
99
|
|
94
100
|
## PLUGINS
|
95
101
|
|
@@ -97,27 +103,9 @@ When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,
|
|
97
103
|
Bundler will try to find an executable on your path named `bundler-<command>`
|
98
104
|
and execute it, passing down any extra arguments to it.
|
99
105
|
|
100
|
-
## BUNDLER TRAMPOLINING
|
101
|
-
|
102
|
-
Bundler includes a feature called trampolining, designed to allow a single
|
103
|
-
developer to work on multiple projects, each on different Bundler versions.
|
104
|
-
The trampoline will infer the correct version of Bundler to use for each project
|
105
|
-
and load that version instead of the version directly invoked (which is almost
|
106
|
-
always the newest version installed locally).
|
107
|
-
|
108
|
-
Bundler by default will use the Bundler version in the current directory to
|
109
|
-
determine the version to trampoline to, reading from the `BUNDLED WITH` section.
|
110
|
-
However, if the `BUNDLER_VERSION` environment variable is set, that version will
|
111
|
-
override the lockfile inference and can be used in directories without a
|
112
|
-
lockfile.
|
113
|
-
|
114
|
-
Until the target version is Bundler 2 or later, `BUNDLE_TRAMPOLINE_FORCE` must
|
115
|
-
be set for the trampoline to be used. Additionally, `BUNDLE_TRAMPOLINE_DISABLE` can
|
116
|
-
be set to completely disable the trampoline.
|
117
|
-
|
118
106
|
## OBSOLETE
|
119
107
|
|
120
|
-
These commands are obsolete and should no longer be used
|
108
|
+
These commands are obsolete and should no longer be used:
|
121
109
|
|
122
110
|
* `bundle cache(1)`
|
123
|
-
* `bundle
|
111
|
+
* `bundle show(1)`
|
data/man/gemfile.5
CHANGED
@@ -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 "GEMFILE" "5" "
|
4
|
+
.TH "GEMFILE" "5" "November 2018" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
@@ -67,7 +67,7 @@ Credentials in the source URL will take precedence over credentials set using \f
|
|
67
67
|
If your application requires a specific Ruby version or engine, specify your requirements using the \fBruby\fR method, with the following arguments\. All parameters are \fBOPTIONAL\fR unless otherwise specified\.
|
68
68
|
.
|
69
69
|
.SS "VERSION (required)"
|
70
|
-
The version of Ruby that your application requires\. If your application requires an alternate Ruby engine, such as JRuby or
|
70
|
+
The version of Ruby that your application requires\. If your application requires an alternate Ruby engine, such as JRuby, Rubinius or TruffleRuby, this should be the Ruby version that the engine is compatible with\.
|
71
71
|
.
|
72
72
|
.IP "" 4
|
73
73
|
.
|
@@ -82,6 +82,17 @@ ruby "1\.9\.3"
|
|
82
82
|
.SS "ENGINE"
|
83
83
|
Each application \fImay\fR specify a Ruby engine\. If an engine is specified, an engine version \fImust\fR also be specified\.
|
84
84
|
.
|
85
|
+
.P
|
86
|
+
What exactly is an Engine? \- A Ruby engine is an implementation of the Ruby language\.
|
87
|
+
.
|
88
|
+
.IP "\(bu" 4
|
89
|
+
For background: the reference or original implementation of the Ruby programming language is called Matz\'s Ruby Interpreter \fIhttps://en\.wikipedia\.org/wiki/Ruby_MRI\fR, or MRI for short\. This is named after Ruby creator Yukihiro Matsumoto, also known as Matz\. MRI is also known as CRuby, because it is written in C\. MRI is the most widely used Ruby engine\.
|
90
|
+
.
|
91
|
+
.IP "\(bu" 4
|
92
|
+
Other implementations \fIhttps://www\.ruby\-lang\.org/en/about/\fR of Ruby exist\. Some of the more well\-known implementations include Rubinius \fIhttps://rubinius\.com/\fR, and JRuby \fIhttp://jruby\.org/\fR\. Rubinius is an alternative implementation of Ruby written in Ruby\. JRuby is an implementation of Ruby on the JVM, short for Java Virtual Machine\.
|
93
|
+
.
|
94
|
+
.IP "" 0
|
95
|
+
.
|
85
96
|
.SS "ENGINE VERSION"
|
86
97
|
Each application \fImay\fR specify a Ruby engine version\. If an engine version is specified, an engine \fImust\fR also be specified\. If the engine is "ruby" the engine version specified \fImust\fR match the Ruby version\.
|
87
98
|
.
|
@@ -237,11 +248,11 @@ There are a number of \fBGemfile\fR platforms:
|
|
237
248
|
.
|
238
249
|
.TP
|
239
250
|
\fBruby\fR
|
240
|
-
C Ruby (MRI) or
|
251
|
+
C Ruby (MRI), Rubinius or TruffleRuby, but \fBNOT\fR Windows
|
241
252
|
.
|
242
253
|
.TP
|
243
254
|
\fBmri\fR
|
244
|
-
Same as \fIruby\fR, but
|
255
|
+
Same as \fIruby\fR, but only C Ruby (MRI)
|
245
256
|
.
|
246
257
|
.TP
|
247
258
|
\fBmingw\fR
|
@@ -253,18 +264,22 @@ Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
|
|
253
264
|
.
|
254
265
|
.TP
|
255
266
|
\fBrbx\fR
|
256
|
-
|
267
|
+
Rubinius
|
257
268
|
.
|
258
269
|
.TP
|
259
270
|
\fBjruby\fR
|
260
271
|
JRuby
|
261
272
|
.
|
262
273
|
.TP
|
274
|
+
\fBtruffleruby\fR
|
275
|
+
TruffleRuby
|
276
|
+
.
|
277
|
+
.TP
|
263
278
|
\fBmswin\fR
|
264
279
|
Windows
|
265
280
|
.
|
266
281
|
.P
|
267
|
-
You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, and \fBmswin\fR\.
|
282
|
+
You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, \fBtruffleruby\fR and \fBmswin\fR\.
|
268
283
|
.
|
269
284
|
.P
|
270
285
|
To specify a version in addition to a platform, append the version number without the delimiter to the platform\. For example, to specify that a gem should only be used on platforms with Ruby 2\.3, use:
|
@@ -314,7 +329,7 @@ gem "nokogiri", :platforms => [:mri_18, :jruby]
|
|
314
329
|
.IP "" 0
|
315
330
|
.
|
316
331
|
.P
|
317
|
-
All operations involving groups (\fBbundle install\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\.
|
332
|
+
All operations involving groups (\fBbundle install\fR \fIbundle\-install\.1\.html\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\.
|
318
333
|
.
|
319
334
|
.SS "SOURCE"
|
320
335
|
You can select an alternate Rubygems repository for a gem using the \':source\' option\.
|
@@ -338,6 +353,9 @@ Bundler will search for child dependencies of this gem by first looking in the s
|
|
338
353
|
.P
|
339
354
|
Selecting a specific source repository this way also suppresses the ambiguous gem warning described above in \fIGLOBAL SOURCES (#source)\fR\.
|
340
355
|
.
|
356
|
+
.P
|
357
|
+
Using the \fB:source\fR option for an individual gem will also make that source available as a possible global source for any other gems which do not specify explicit sources\. Thus, when adding gems with explicit sources, it is recommended that you also ensure all other gems in the Gemfile are using explicit sources\.
|
358
|
+
.
|
341
359
|
.SS "GIT"
|
342
360
|
If necessary, you can specify that a gem is located at a particular git repository using the \fB:git\fR parameter\. The repository can be accessed via several protocols:
|
343
361
|
.
|
@@ -394,8 +412,20 @@ Git repositories support a number of additional options\.
|
|
394
412
|
You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR
|
395
413
|
.
|
396
414
|
.TP
|
415
|
+
For example:
|
416
|
+
.
|
417
|
+
.IP
|
418
|
+
git "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable" do
|
419
|
+
.
|
420
|
+
.IP
|
421
|
+
git "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0" do
|
422
|
+
.
|
423
|
+
.IP
|
424
|
+
git "https://github\.com/rails/rails\.git", :ref => "4aded" do
|
425
|
+
.
|
426
|
+
.TP
|
397
427
|
\fBsubmodules\fR
|
398
|
-
Specify \fB:submodules => true\fR to cause bundler to expand any submodules included in the git repository
|
428
|
+
For reference, a git submodule \fIhttps://git\-scm\.com/book/en/v2/Git\-Tools\-Submodules\fR lets you have another git repository within a subfolder of your repository\. Specify \fB:submodules => true\fR to cause bundler to expand any submodules included in the git repository
|
399
429
|
.
|
400
430
|
.P
|
401
431
|
If a git repository contains multiple \fB\.gemspecs\fR, each \fB\.gemspec\fR represents a gem located at the same place in the file system as the \fB\.gemspec\fR\.
|
@@ -610,6 +640,9 @@ In the case of the group block form the :optional option can be given to prevent
|
|
610
640
|
.P
|
611
641
|
In the case of the \fBgit\fR block form, the \fB:ref\fR, \fB:branch\fR, \fB:tag\fR, and \fB:submodules\fR options may be passed to the \fBgit\fR method, and all gems in the block will inherit those options\.
|
612
642
|
.
|
643
|
+
.P
|
644
|
+
The presence of a \fBsource\fR block in a Gemfile also makes that source available as a possible global source for any other gems which do not specify explicit sources\. Thus, when defining source blocks, it is recommended that you also ensure all other gems in the Gemfile are using explicit sources, either via source blocks or \fB:source\fR directives on individual gems\.
|
645
|
+
.
|
613
646
|
.SH "INSTALL_IF"
|
614
647
|
The \fBinstall_if\fR method allows gems to be installed based on a proc or lambda\. This is especially useful for optional gems that can only be used if certain software is installed or some other conditions are met\.
|
615
648
|
.
|
@@ -626,6 +659,9 @@ end
|
|
626
659
|
.IP "" 0
|
627
660
|
.
|
628
661
|
.SH "GEMSPEC"
|
662
|
+
The \fB\.gemspec\fR \fIhttp://guides\.rubygems\.org/specification\-reference/\fR file is where you provide metadata about your gem to Rubygems\. Some required Gemspec attributes include the name, description, and homepage of your gem\. This is also where you specify the dependencies your gem needs to run\.
|
663
|
+
.
|
664
|
+
.P
|
629
665
|
If you wish to use Bundler to help install dependencies for a gem while it is being developed, use the \fBgemspec\fR method to pull in the dependencies listed in the \fB\.gemspec\fR file\.
|
630
666
|
.
|
631
667
|
.P
|
data/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
|
|
@@ -69,6 +69,22 @@ the Ruby version that the engine is compatible with.
|
|
69
69
|
Each application _may_ specify a Ruby engine. If an engine is specified, an
|
70
70
|
engine version _must_ also be specified.
|
71
71
|
|
72
|
+
What exactly is an Engine?
|
73
|
+
- A Ruby engine is an implementation of the Ruby language.
|
74
|
+
|
75
|
+
- For background: the reference or original implementation of the Ruby
|
76
|
+
programming language is called
|
77
|
+
[Matz's Ruby Interpreter](https://en.wikipedia.org/wiki/Ruby_MRI), or MRI
|
78
|
+
for short. This is named after Ruby creator Yukihiro Matsumoto,
|
79
|
+
also known as Matz. MRI is also known as CRuby, because it is written in C.
|
80
|
+
MRI is the most widely used Ruby engine.
|
81
|
+
|
82
|
+
- [Other implementations](https://www.ruby-lang.org/en/about/) of Ruby exist.
|
83
|
+
Some of the more well-known implementations include
|
84
|
+
[Rubinius](https://rubinius.com/), and [JRuby](http://jruby.org/).
|
85
|
+
Rubinius is an alternative implementation of Ruby written in Ruby.
|
86
|
+
JRuby is an implementation of Ruby on the JVM, short for Java Virtual Machine.
|
87
|
+
|
72
88
|
### ENGINE VERSION
|
73
89
|
|
74
90
|
Each application _may_ specify a Ruby engine version. If an engine version is
|
@@ -172,22 +188,24 @@ platforms.
|
|
172
188
|
There are a number of `Gemfile` platforms:
|
173
189
|
|
174
190
|
* `ruby`:
|
175
|
-
C Ruby (MRI) or
|
191
|
+
C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
|
176
192
|
* `mri`:
|
177
|
-
Same as _ruby_, but
|
193
|
+
Same as _ruby_, but only C Ruby (MRI)
|
178
194
|
* `mingw`:
|
179
195
|
Windows 32 bit 'mingw32' platform (aka RubyInstaller)
|
180
196
|
* `x64_mingw`:
|
181
197
|
Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
|
182
198
|
* `rbx`:
|
183
|
-
|
199
|
+
Rubinius
|
184
200
|
* `jruby`:
|
185
201
|
JRuby
|
202
|
+
* `truffleruby`:
|
203
|
+
TruffleRuby
|
186
204
|
* `mswin`:
|
187
205
|
Windows
|
188
206
|
|
189
207
|
You can restrict further by platform and version for all platforms *except* for
|
190
|
-
`rbx`, `jruby`, and `mswin`.
|
208
|
+
`rbx`, `jruby`, `truffleruby` and `mswin`.
|
191
209
|
|
192
210
|
To specify a version in addition to a platform, append the version number without
|
193
211
|
the delimiter to the platform. For example, to specify that a gem should only be
|
@@ -212,7 +230,7 @@ As with groups, you can specify one or more platforms:
|
|
212
230
|
gem "ruby-debug", :platforms => :mri_18
|
213
231
|
gem "nokogiri", :platforms => [:mri_18, :jruby]
|
214
232
|
|
215
|
-
All operations involving groups (`bundle install
|
233
|
+
All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
|
216
234
|
`Bundler.require`) behave exactly the same as if any groups not
|
217
235
|
matching the current platform were explicitly excluded.
|
218
236
|
|
@@ -235,6 +253,12 @@ Selecting a specific source repository this way also suppresses the ambiguous
|
|
235
253
|
gem warning described above in
|
236
254
|
[GLOBAL SOURCES (#source)](#GLOBAL-SOURCES).
|
237
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
|
+
|
238
262
|
### GIT
|
239
263
|
|
240
264
|
If necessary, you can specify that a gem is located at a particular
|
@@ -287,7 +311,17 @@ Git repositories support a number of additional options.
|
|
287
311
|
* `branch`, `tag`, and `ref`:
|
288
312
|
You `MUST` only specify at most one of these options. The default
|
289
313
|
is `:branch => "master"`
|
314
|
+
* For example:
|
315
|
+
|
316
|
+
git "https://github.com/rails/rails.git", :branch => "5-0-stable" do
|
317
|
+
|
318
|
+
git "https://github.com/rails/rails.git", :tag => "v5.0.0" do
|
319
|
+
|
320
|
+
git "https://github.com/rails/rails.git", :ref => "4aded" do
|
321
|
+
|
290
322
|
* `submodules`:
|
323
|
+
For reference, a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
|
324
|
+
lets you have another git repository within a subfolder of your repository.
|
291
325
|
Specify `:submodules => true` to cause bundler to expand any
|
292
326
|
submodules included in the git repository
|
293
327
|
|
@@ -427,6 +461,13 @@ In the case of the `git` block form, the `:ref`, `:branch`, `:tag`,
|
|
427
461
|
and `:submodules` options may be passed to the `git` method, and
|
428
462
|
all gems in the block will inherit those options.
|
429
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
|
+
|
430
471
|
## INSTALL_IF
|
431
472
|
|
432
473
|
The `install_if` method allows gems to be installed based on a proc or lambda.
|
@@ -439,6 +480,11 @@ software is installed or some other conditions are met.
|
|
439
480
|
|
440
481
|
## GEMSPEC
|
441
482
|
|
483
|
+
The [`.gemspec`](http://guides.rubygems.org/specification-reference/) file is where
|
484
|
+
you provide metadata about your gem to Rubygems. Some required Gemspec
|
485
|
+
attributes include the name, description, and homepage of your gem. This is
|
486
|
+
also where you specify the dependencies your gem needs to run.
|
487
|
+
|
442
488
|
If you wish to use Bundler to help install dependencies for a gem while it is
|
443
489
|
being developed, use the `gemspec` method to pull in the dependencies listed in
|
444
490
|
the `.gemspec` file.
|