bundler 1.15.2 → 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.

Files changed (286) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +302 -0
  3. data/README.md +17 -8
  4. data/bundler.gemspec +25 -9
  5. data/exe/bundle +1 -1
  6. data/exe/bundle_ruby +4 -3
  7. data/lib/bundler/build_metadata.rb +53 -0
  8. data/lib/bundler/capistrano.rb +5 -0
  9. data/lib/bundler/cli/add.rb +15 -6
  10. data/lib/bundler/cli/binstubs.rb +17 -9
  11. data/lib/bundler/cli/cache.rb +5 -4
  12. data/lib/bundler/cli/check.rb +3 -5
  13. data/lib/bundler/cli/clean.rb +5 -6
  14. data/lib/bundler/cli/common.rb +11 -2
  15. data/lib/bundler/cli/config.rb +2 -1
  16. data/lib/bundler/cli/console.rb +2 -1
  17. data/lib/bundler/cli/doctor.rb +48 -1
  18. data/lib/bundler/cli/exec.rb +6 -5
  19. data/lib/bundler/cli/gem.rb +13 -8
  20. data/lib/bundler/cli/info.rb +0 -1
  21. data/lib/bundler/cli/init.rb +18 -6
  22. data/lib/bundler/cli/inject.rb +1 -0
  23. data/lib/bundler/cli/install.rb +64 -61
  24. data/lib/bundler/cli/issue.rb +1 -1
  25. data/lib/bundler/cli/list.rb +58 -0
  26. data/lib/bundler/cli/lock.rb +0 -1
  27. data/lib/bundler/cli/open.rb +2 -2
  28. data/lib/bundler/cli/outdated.rb +20 -9
  29. data/lib/bundler/cli/package.rb +9 -6
  30. data/lib/bundler/cli/platform.rb +1 -0
  31. data/lib/bundler/cli/plugin.rb +1 -0
  32. data/lib/bundler/cli/pristine.rb +20 -6
  33. data/lib/bundler/cli/remove.rb +18 -0
  34. data/lib/bundler/cli/show.rb +0 -1
  35. data/lib/bundler/cli/update.rb +35 -7
  36. data/lib/bundler/cli/viz.rb +1 -0
  37. data/lib/bundler/cli.rb +227 -89
  38. data/lib/bundler/compact_index_client/cache.rb +1 -2
  39. data/lib/bundler/compact_index_client/updater.rb +14 -4
  40. data/lib/bundler/compact_index_client.rb +1 -0
  41. data/lib/bundler/compatibility_guard.rb +14 -0
  42. data/lib/bundler/constants.rb +1 -0
  43. data/lib/bundler/current_ruby.rb +13 -5
  44. data/lib/bundler/definition.rb +192 -139
  45. data/lib/bundler/dep_proxy.rb +3 -1
  46. data/lib/bundler/dependency.rb +9 -9
  47. data/lib/bundler/deployment.rb +1 -1
  48. data/lib/bundler/deprecate.rb +15 -3
  49. data/lib/bundler/dsl.rb +115 -64
  50. data/lib/bundler/endpoint_specification.rb +10 -1
  51. data/lib/bundler/env.rb +90 -29
  52. data/lib/bundler/environment_preserver.rb +27 -6
  53. data/lib/bundler/errors.rb +1 -0
  54. data/lib/bundler/feature_flag.rb +46 -4
  55. data/lib/bundler/fetcher/base.rb +1 -0
  56. data/lib/bundler/fetcher/compact_index.rb +2 -11
  57. data/lib/bundler/fetcher/dependency.rb +2 -1
  58. data/lib/bundler/fetcher/downloader.rb +11 -5
  59. data/lib/bundler/fetcher/index.rb +3 -2
  60. data/lib/bundler/fetcher.rb +18 -11
  61. data/lib/bundler/friendly_errors.rb +6 -1
  62. data/lib/bundler/gem_helper.rb +19 -10
  63. data/lib/bundler/gem_helpers.rb +1 -0
  64. data/lib/bundler/gem_remote_fetcher.rb +1 -0
  65. data/lib/bundler/gem_tasks.rb +1 -0
  66. data/lib/bundler/gem_version_promoter.rb +17 -2
  67. data/lib/bundler/gemdeps.rb +1 -0
  68. data/lib/bundler/graph.rb +1 -0
  69. data/lib/bundler/index.rb +8 -8
  70. data/lib/bundler/injector.rb +192 -30
  71. data/lib/bundler/inline.rb +5 -7
  72. data/lib/bundler/installer/gem_installer.rb +11 -2
  73. data/lib/bundler/installer/parallel_installer.rb +78 -42
  74. data/lib/bundler/installer/standalone.rb +1 -0
  75. data/lib/bundler/installer.rb +138 -53
  76. data/lib/bundler/lazy_specification.rb +3 -2
  77. data/lib/bundler/lockfile_generator.rb +95 -0
  78. data/lib/bundler/lockfile_parser.rb +10 -4
  79. data/lib/bundler/match_platform.rb +1 -0
  80. data/lib/bundler/mirror.rb +8 -5
  81. data/lib/bundler/plugin/api/source.rb +9 -2
  82. data/lib/bundler/plugin/events.rb +61 -0
  83. data/lib/bundler/plugin/index.rb +7 -2
  84. data/lib/bundler/plugin/installer.rb +7 -6
  85. data/lib/bundler/plugin/source_list.rb +7 -8
  86. data/lib/bundler/plugin.rb +13 -5
  87. data/lib/bundler/process_lock.rb +24 -0
  88. data/lib/bundler/psyched_yaml.rb +10 -0
  89. data/lib/bundler/remote_specification.rb +1 -0
  90. data/lib/bundler/resolver/spec_group.rb +106 -0
  91. data/lib/bundler/resolver.rb +158 -195
  92. data/lib/bundler/retry.rb +1 -0
  93. data/lib/bundler/ruby_dsl.rb +1 -0
  94. data/lib/bundler/ruby_version.rb +2 -1
  95. data/lib/bundler/rubygems_ext.rb +5 -4
  96. data/lib/bundler/rubygems_gem_installer.rb +31 -1
  97. data/lib/bundler/rubygems_integration.rb +71 -32
  98. data/lib/bundler/runtime.rb +11 -9
  99. data/lib/bundler/settings/validator.rb +102 -0
  100. data/lib/bundler/settings.rb +200 -77
  101. data/lib/bundler/setup.rb +1 -0
  102. data/lib/bundler/shared_helpers.rb +131 -26
  103. data/lib/bundler/similarity_detector.rb +1 -0
  104. data/lib/bundler/source/gemspec.rb +1 -0
  105. data/lib/bundler/source/git/git_proxy.rb +21 -11
  106. data/lib/bundler/source/git.rb +24 -19
  107. data/lib/bundler/source/metadata.rb +62 -0
  108. data/lib/bundler/source/path/installer.rb +2 -0
  109. data/lib/bundler/source/path.rb +8 -8
  110. data/lib/bundler/source/rubygems/remote.rb +8 -2
  111. data/lib/bundler/source/rubygems.rb +161 -84
  112. data/lib/bundler/source.rb +36 -0
  113. data/lib/bundler/source_list.rb +75 -15
  114. data/lib/bundler/spec_set.rb +10 -5
  115. data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
  116. data/lib/bundler/stub_specification.rb +1 -0
  117. data/lib/bundler/templates/.document +1 -0
  118. data/lib/bundler/templates/Executable +12 -0
  119. data/lib/bundler/templates/Executable.bundler +105 -0
  120. data/lib/bundler/templates/Gemfile +1 -0
  121. data/lib/bundler/templates/gems.rb +8 -0
  122. data/lib/bundler/templates/newgem/README.md.tt +1 -1
  123. data/lib/bundler/templates/newgem/gitignore.tt +0 -1
  124. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  125. data/lib/bundler/templates/newgem/newgem.gemspec.tt +12 -3
  126. data/lib/bundler/templates/newgem/rspec.tt +1 -0
  127. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -2
  128. data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
  129. data/lib/bundler/ui/rg_proxy.rb +1 -0
  130. data/lib/bundler/ui/shell.rb +17 -4
  131. data/lib/bundler/ui/silent.rb +1 -0
  132. data/lib/bundler/ui.rb +1 -0
  133. data/lib/bundler/uri_credentials_filter.rb +1 -0
  134. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  135. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  136. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  137. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  138. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  139. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -0
  140. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -0
  141. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -0
  142. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -0
  143. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +1 -0
  144. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -0
  145. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -0
  146. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +15 -4
  147. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +3 -2
  148. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
  149. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  150. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  151. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
  152. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +491 -148
  153. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
  154. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
  155. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
  156. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  157. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -0
  158. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -0
  159. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +9 -1
  160. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +45 -8
  161. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +9 -3
  162. data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -3
  163. data/lib/bundler/vendor/thor/lib/thor/base.rb +27 -4
  164. data/lib/bundler/vendor/thor/lib/thor/command.rb +9 -7
  165. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +12 -0
  166. data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
  167. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  168. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +5 -5
  169. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +6 -5
  170. data/lib/bundler/vendor/thor/lib/thor/runner.rb +6 -4
  171. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +10 -9
  172. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  173. data/lib/bundler/vendor/thor/lib/thor.rb +25 -8
  174. data/lib/bundler/vendored_fileutils.rb +9 -0
  175. data/lib/bundler/vendored_molinillo.rb +1 -0
  176. data/lib/bundler/vendored_persistent.rb +35 -0
  177. data/lib/bundler/vendored_thor.rb +1 -0
  178. data/lib/bundler/version.rb +6 -2
  179. data/lib/bundler/version_ranges.rb +1 -0
  180. data/lib/bundler/vlad.rb +5 -0
  181. data/lib/bundler/worker.rb +1 -0
  182. data/lib/bundler/yaml_serializer.rb +3 -3
  183. data/lib/bundler.rb +86 -52
  184. data/man/bundle-add.1 +18 -3
  185. data/man/bundle-add.1.txt +26 -14
  186. data/man/bundle-add.ronn +13 -2
  187. data/man/bundle-binstubs.1 +11 -1
  188. data/man/bundle-binstubs.1.txt +33 -18
  189. data/man/bundle-binstubs.ronn +15 -1
  190. data/man/bundle-check.1 +4 -4
  191. data/man/bundle-check.1.txt +15 -14
  192. data/man/bundle-check.ronn +3 -3
  193. data/man/bundle-clean.1 +1 -1
  194. data/man/bundle-clean.1.txt +10 -10
  195. data/man/bundle-config.1 +129 -29
  196. data/man/bundle-config.1.txt +285 -174
  197. data/man/bundle-config.ronn +167 -88
  198. data/man/bundle-doctor.1 +44 -0
  199. data/man/bundle-doctor.1.txt +44 -0
  200. data/man/bundle-doctor.ronn +33 -0
  201. data/man/bundle-exec.1 +6 -3
  202. data/man/bundle-exec.1.txt +78 -71
  203. data/man/bundle-exec.ronn +10 -3
  204. data/man/bundle-gem.1 +3 -3
  205. data/man/bundle-gem.1.txt +40 -39
  206. data/man/bundle-gem.ronn +2 -1
  207. data/man/bundle-info.1 +1 -1
  208. data/man/bundle-info.1.txt +8 -8
  209. data/man/bundle-init.1 +9 -4
  210. data/man/bundle-init.1.txt +23 -13
  211. data/man/bundle-init.ronn +15 -4
  212. data/man/bundle-inject.1 +4 -4
  213. data/man/bundle-inject.1.txt +10 -10
  214. data/man/bundle-inject.ronn +3 -3
  215. data/man/bundle-install.1 +31 -28
  216. data/man/bundle-install.1.txt +205 -194
  217. data/man/bundle-install.ronn +44 -35
  218. data/man/bundle-list.1 +50 -0
  219. data/man/bundle-list.1.txt +43 -0
  220. data/man/bundle-list.ronn +33 -0
  221. data/man/bundle-lock.1 +1 -1
  222. data/man/bundle-lock.1.txt +47 -47
  223. data/man/bundle-lock.ronn +1 -1
  224. data/man/bundle-open.1 +1 -1
  225. data/man/bundle-open.1.txt +7 -7
  226. data/man/bundle-outdated.1 +7 -3
  227. data/man/bundle-outdated.1.txt +40 -36
  228. data/man/bundle-outdated.ronn +6 -2
  229. data/man/bundle-package.1 +6 -3
  230. data/man/bundle-package.1.txt +44 -39
  231. data/man/bundle-package.ronn +7 -2
  232. data/man/bundle-platform.1 +1 -1
  233. data/man/bundle-platform.1.txt +13 -13
  234. data/man/bundle-pristine.1 +21 -3
  235. data/man/bundle-pristine.1.txt +33 -10
  236. data/man/bundle-pristine.ronn +24 -3
  237. data/man/bundle-remove.1 +31 -0
  238. data/man/bundle-remove.1.txt +34 -0
  239. data/man/bundle-remove.ronn +23 -0
  240. data/man/bundle-show.1 +3 -3
  241. data/man/bundle-show.1.txt +14 -12
  242. data/man/bundle-show.ronn +3 -2
  243. data/man/bundle-update.1 +13 -9
  244. data/man/bundle-update.1.txt +133 -130
  245. data/man/bundle-update.ronn +21 -17
  246. data/man/bundle-viz.1 +7 -7
  247. data/man/bundle-viz.1.txt +17 -15
  248. data/man/bundle-viz.ronn +6 -6
  249. data/man/bundle.1 +31 -23
  250. data/man/bundle.1.txt +63 -57
  251. data/man/bundle.ronn +35 -29
  252. data/man/gemfile.5 +44 -8
  253. data/man/gemfile.5.ronn +54 -8
  254. data/man/gemfile.5.txt +218 -165
  255. data/man/index.txt +25 -15
  256. metadata +36 -36
  257. data/.codeclimate.yml +0 -25
  258. data/.gitignore +0 -18
  259. data/.rspec +0 -3
  260. data/.rubocop.yml +0 -131
  261. data/.rubocop_todo.yml +0 -418
  262. data/.travis.yml +0 -122
  263. data/CODE_OF_CONDUCT.md +0 -42
  264. data/CONTRIBUTING.md +0 -17
  265. data/Rakefile +0 -338
  266. data/bin/rake +0 -19
  267. data/bin/rspec +0 -15
  268. data/bin/rubocop +0 -17
  269. data/bin/with_rubygems +0 -39
  270. data/doc/README.md +0 -30
  271. data/doc/TROUBLESHOOTING.md +0 -64
  272. data/doc/contributing/BUG_TRIAGE.md +0 -36
  273. data/doc/contributing/COMMUNITY.md +0 -13
  274. data/doc/contributing/GETTING_HELP.md +0 -11
  275. data/doc/contributing/HOW_YOU_CAN_HELP.md +0 -27
  276. data/doc/contributing/ISSUES.md +0 -51
  277. data/doc/contributing/README.md +0 -38
  278. data/doc/development/NEW_FEATURES.md +0 -10
  279. data/doc/development/PULL_REQUESTS.md +0 -40
  280. data/doc/development/README.md +0 -19
  281. data/doc/development/RELEASING.md +0 -9
  282. data/doc/development/SETUP.md +0 -27
  283. data/doc/documentation/README.md +0 -29
  284. data/doc/documentation/VISION.md +0 -26
  285. data/doc/documentation/WRITING.md +0 -54
  286. 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
- * `--verbose`:
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)`][bundle-install]:
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)`][bundle-update]:
36
+ * [`bundle update(1)`](bundle-update.1.html):
34
37
  Update dependencies to their latest versions
35
38
 
36
- * [`bundle package(1)`][bundle-package]:
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)`][bundle-exec]:
41
- Execute a script in the context of the current bundle
43
+ * [`bundle exec(1)`](bundle-exec.1.html):
44
+ Execute a script in the current bundle
42
45
 
43
- * [`bundle config(1)`][bundle-config]:
44
- Specify and read configuration options for bundler
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 bundler
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)`][bundle-outdated]:
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 context of the current bundle
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)`][bundle-lock]:
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)`][bundle-gem]:
83
- Create a simple gem, suitable for development with bundler
85
+ * [`bundle gem(1)`](bundle-gem.1.html):
86
+ Create a simple gem, suitable for development with Bundler
84
87
 
85
- * [`bundle platform(1)`][bundle-platform]:
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 bundler directory
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 doctor(1)`:
92
- Display warnings about common potential problems
97
+ * [`bundle remove(1)`](bundle-remove.1.html):
98
+ Removes gems from the Gemfile
93
99
 
94
100
  ## PLUGINS
95
101
 
@@ -99,7 +105,7 @@ and execute it, passing down any extra arguments to it.
99
105
 
100
106
  ## OBSOLETE
101
107
 
102
- These commands are obsolete and should no longer be used
108
+ These commands are obsolete and should no longer be used:
103
109
 
104
110
  * `bundle cache(1)`
105
- * `bundle list(1)`
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" "June 2017" "" ""
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 Rubinius, this should be the Ruby version that the engine is compatible with\.
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 Rubinius, but \fBNOT\fR Windows
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 not Rubinius
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
- Same as \fIruby\fR, but only Rubinius (not MRI)
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)][bundle-config] to set
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 Rubinius, this should be
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 Rubinius, but `NOT` Windows
191
+ C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
176
192
  * `mri`:
177
- Same as _ruby_, but not Rubinius
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
- Same as _ruby_, but only Rubinius (not MRI)
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`, `Bundler.setup`,
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.