bundler 1.13.6 → 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 (323) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +554 -9
  3. data/README.md +28 -5
  4. data/bundler.gemspec +40 -11
  5. data/exe/bundle +4 -8
  6. data/exe/bundle_ruby +4 -3
  7. data/lib/bundler.rb +162 -68
  8. data/lib/bundler/build_metadata.rb +53 -0
  9. data/lib/bundler/capistrano.rb +5 -0
  10. data/lib/bundler/cli.rb +360 -118
  11. data/lib/bundler/cli/add.rb +35 -0
  12. data/lib/bundler/cli/binstubs.rb +18 -10
  13. data/lib/bundler/cli/cache.rb +6 -5
  14. data/lib/bundler/cli/check.rb +4 -6
  15. data/lib/bundler/cli/clean.rb +6 -7
  16. data/lib/bundler/cli/common.rb +47 -1
  17. data/lib/bundler/cli/config.rb +26 -7
  18. data/lib/bundler/cli/console.rb +2 -1
  19. data/lib/bundler/cli/doctor.rb +63 -18
  20. data/lib/bundler/cli/exec.rb +12 -5
  21. data/lib/bundler/cli/gem.rb +59 -21
  22. data/lib/bundler/cli/info.rb +50 -0
  23. data/lib/bundler/cli/init.rb +21 -7
  24. data/lib/bundler/cli/inject.rb +13 -4
  25. data/lib/bundler/cli/install.rb +72 -101
  26. data/lib/bundler/cli/issue.rb +40 -0
  27. data/lib/bundler/cli/list.rb +58 -0
  28. data/lib/bundler/cli/lock.rb +9 -6
  29. data/lib/bundler/cli/open.rb +4 -3
  30. data/lib/bundler/cli/outdated.rb +175 -60
  31. data/lib/bundler/cli/package.rb +9 -6
  32. data/lib/bundler/cli/platform.rb +2 -1
  33. data/lib/bundler/cli/plugin.rb +1 -0
  34. data/lib/bundler/cli/pristine.rb +47 -0
  35. data/lib/bundler/cli/remove.rb +18 -0
  36. data/lib/bundler/cli/show.rb +2 -2
  37. data/lib/bundler/cli/update.rb +44 -34
  38. data/lib/bundler/cli/viz.rb +5 -1
  39. data/lib/bundler/compact_index_client.rb +109 -0
  40. data/lib/bundler/compact_index_client/cache.rb +118 -0
  41. data/lib/bundler/compact_index_client/updater.rb +116 -0
  42. data/lib/bundler/compatibility_guard.rb +14 -0
  43. data/lib/bundler/constants.rb +1 -0
  44. data/lib/bundler/current_ruby.rb +17 -8
  45. data/lib/bundler/definition.rb +353 -182
  46. data/lib/bundler/dep_proxy.rb +3 -1
  47. data/lib/bundler/dependency.rb +22 -10
  48. data/lib/bundler/deployment.rb +1 -1
  49. data/lib/bundler/deprecate.rb +15 -3
  50. data/lib/bundler/dsl.rb +122 -64
  51. data/lib/bundler/endpoint_specification.rb +13 -3
  52. data/lib/bundler/env.rb +110 -38
  53. data/lib/bundler/environment_preserver.rb +27 -6
  54. data/lib/bundler/errors.rb +24 -0
  55. data/lib/bundler/feature_flag.rb +74 -0
  56. data/lib/bundler/fetcher.rb +18 -11
  57. data/lib/bundler/fetcher/base.rb +1 -0
  58. data/lib/bundler/fetcher/compact_index.rb +7 -5
  59. data/lib/bundler/fetcher/dependency.rb +3 -2
  60. data/lib/bundler/fetcher/downloader.rb +25 -7
  61. data/lib/bundler/fetcher/index.rb +3 -2
  62. data/lib/bundler/friendly_errors.rb +33 -7
  63. data/lib/bundler/gem_helper.rb +25 -11
  64. data/lib/bundler/gem_helpers.rb +70 -1
  65. data/lib/bundler/gem_remote_fetcher.rb +1 -0
  66. data/lib/bundler/gem_tasks.rb +1 -0
  67. data/lib/bundler/gem_version_promoter.rb +17 -2
  68. data/lib/bundler/gemdeps.rb +29 -0
  69. data/lib/bundler/graph.rb +1 -0
  70. data/lib/bundler/index.rb +28 -15
  71. data/lib/bundler/injector.rb +216 -33
  72. data/lib/bundler/inline.rb +12 -12
  73. data/lib/bundler/installer.rb +139 -53
  74. data/lib/bundler/installer/gem_installer.rb +15 -5
  75. data/lib/bundler/installer/parallel_installer.rb +113 -28
  76. data/lib/bundler/installer/standalone.rb +1 -0
  77. data/lib/bundler/lazy_specification.rb +31 -3
  78. data/lib/bundler/lockfile_generator.rb +95 -0
  79. data/lib/bundler/lockfile_parser.rb +50 -37
  80. data/lib/bundler/match_platform.rb +13 -3
  81. data/lib/bundler/mirror.rb +10 -5
  82. data/lib/bundler/plugin.rb +22 -8
  83. data/lib/bundler/plugin/api.rb +2 -1
  84. data/lib/bundler/plugin/api/source.rb +17 -4
  85. data/lib/bundler/plugin/events.rb +61 -0
  86. data/lib/bundler/plugin/index.rb +9 -2
  87. data/lib/bundler/plugin/installer.rb +7 -6
  88. data/lib/bundler/plugin/source_list.rb +7 -8
  89. data/lib/bundler/process_lock.rb +24 -0
  90. data/lib/bundler/psyched_yaml.rb +10 -0
  91. data/lib/bundler/remote_specification.rb +30 -1
  92. data/lib/bundler/resolver.rb +187 -194
  93. data/lib/bundler/resolver/spec_group.rb +106 -0
  94. data/lib/bundler/retry.rb +5 -1
  95. data/lib/bundler/ruby_dsl.rb +1 -0
  96. data/lib/bundler/ruby_version.rb +12 -2
  97. data/lib/bundler/rubygems_ext.rb +23 -8
  98. data/lib/bundler/rubygems_gem_installer.rb +90 -0
  99. data/lib/bundler/rubygems_integration.rb +193 -70
  100. data/lib/bundler/runtime.rb +39 -22
  101. data/lib/bundler/settings.rb +245 -85
  102. data/lib/bundler/settings/validator.rb +102 -0
  103. data/lib/bundler/setup.rb +4 -7
  104. data/lib/bundler/shared_helpers.rb +183 -40
  105. data/lib/bundler/similarity_detector.rb +1 -0
  106. data/lib/bundler/source.rb +58 -1
  107. data/lib/bundler/source/gemspec.rb +1 -0
  108. data/lib/bundler/source/git.rb +52 -23
  109. data/lib/bundler/source/git/git_proxy.rb +30 -14
  110. data/lib/bundler/source/metadata.rb +62 -0
  111. data/lib/bundler/source/path.rb +42 -16
  112. data/lib/bundler/source/path/installer.rb +4 -2
  113. data/lib/bundler/source/rubygems.rb +171 -82
  114. data/lib/bundler/source/rubygems/remote.rb +12 -2
  115. data/lib/bundler/source_list.rb +75 -15
  116. data/lib/bundler/spec_set.rb +67 -32
  117. data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
  118. data/lib/bundler/stub_specification.rb +86 -2
  119. data/lib/bundler/templates/.document +1 -0
  120. data/lib/bundler/templates/Executable +13 -1
  121. data/lib/bundler/templates/Executable.bundler +105 -0
  122. data/lib/bundler/templates/Executable.standalone +5 -5
  123. data/lib/bundler/templates/Gemfile +3 -0
  124. data/lib/bundler/templates/gems.rb +8 -0
  125. data/lib/bundler/templates/newgem/Gemfile.tt +4 -2
  126. data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
  127. data/lib/bundler/templates/newgem/README.md.tt +14 -8
  128. data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
  129. data/lib/bundler/templates/newgem/bin/console.tt +1 -1
  130. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
  131. data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
  132. data/lib/bundler/templates/newgem/gitignore.tt +5 -1
  133. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -6
  134. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
  135. data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
  136. data/lib/bundler/templates/newgem/rspec.tt +1 -0
  137. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -3
  138. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +13 -1
  139. data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
  140. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
  141. data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
  142. data/lib/bundler/ui.rb +1 -0
  143. data/lib/bundler/ui/rg_proxy.rb +1 -0
  144. data/lib/bundler/ui/shell.rb +30 -10
  145. data/lib/bundler/ui/silent.rb +21 -1
  146. data/lib/bundler/uri_credentials_filter.rb +1 -0
  147. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  148. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
  149. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  150. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  151. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  152. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +26 -6
  153. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +2 -1
  154. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +12 -4
  155. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +3 -2
  156. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  157. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +11 -3
  158. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +13 -1
  159. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +3 -2
  160. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -2
  161. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +18 -5
  162. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
  163. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  164. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  165. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
  166. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +499 -128
  167. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
  168. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
  169. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
  170. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +27 -24
  171. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
  172. data/lib/bundler/vendor/thor/lib/thor.rb +46 -21
  173. data/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
  174. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
  175. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  176. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
  177. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
  178. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
  179. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
  180. data/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
  181. data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
  182. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
  183. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
  184. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
  185. data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
  186. data/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
  187. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
  188. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  189. data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
  190. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
  191. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
  192. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
  193. data/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
  194. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  195. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
  196. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
  197. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
  198. data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  199. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  200. data/lib/bundler/vendored_fileutils.rb +9 -0
  201. data/lib/bundler/vendored_molinillo.rb +1 -0
  202. data/lib/bundler/vendored_persistent.rb +43 -3
  203. data/lib/bundler/vendored_thor.rb +6 -2
  204. data/lib/bundler/version.rb +19 -2
  205. data/lib/bundler/version_ranges.rb +76 -0
  206. data/lib/bundler/vlad.rb +5 -0
  207. data/lib/bundler/worker.rb +30 -6
  208. data/lib/bundler/yaml_serializer.rb +4 -4
  209. data/man/bundle-add.1 +58 -0
  210. data/man/bundle-add.1.txt +52 -0
  211. data/man/bundle-add.ronn +40 -0
  212. data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +11 -1
  213. data/man/bundle-binstubs.1.txt +48 -0
  214. data/man/bundle-binstubs.ronn +15 -1
  215. data/man/bundle-check.1 +31 -0
  216. data/man/bundle-check.1.txt +33 -0
  217. data/man/bundle-check.ronn +26 -0
  218. data/man/bundle-clean.1 +24 -0
  219. data/man/bundle-clean.1.txt +26 -0
  220. data/man/bundle-clean.ronn +18 -0
  221. data/man/bundle-config.1 +497 -0
  222. data/man/bundle-config.1.txt +529 -0
  223. data/man/bundle-config.ronn +233 -61
  224. data/man/bundle-doctor.1 +44 -0
  225. data/man/bundle-doctor.1.txt +44 -0
  226. data/man/bundle-doctor.ronn +33 -0
  227. data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +6 -3
  228. data/man/bundle-exec.1.txt +178 -0
  229. data/man/bundle-exec.ronn +10 -3
  230. data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +4 -4
  231. data/man/bundle-gem.1.txt +91 -0
  232. data/man/bundle-gem.ronn +3 -2
  233. data/man/bundle-info.1 +20 -0
  234. data/man/bundle-info.1.txt +21 -0
  235. data/man/bundle-info.ronn +17 -0
  236. data/man/bundle-init.1 +25 -0
  237. data/man/bundle-init.1.txt +34 -0
  238. data/man/bundle-init.ronn +29 -0
  239. data/man/bundle-inject.1 +33 -0
  240. data/man/bundle-inject.1.txt +32 -0
  241. data/man/bundle-inject.ronn +22 -0
  242. data/{lib/bundler/man/bundle-install → man/bundle-install.1} +32 -29
  243. data/man/bundle-install.1.txt +396 -0
  244. data/man/bundle-install.ronn +45 -36
  245. data/man/bundle-list.1 +50 -0
  246. data/man/bundle-list.1.txt +43 -0
  247. data/man/bundle-list.ronn +33 -0
  248. data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
  249. data/man/bundle-lock.1.txt +93 -0
  250. data/man/bundle-lock.ronn +47 -0
  251. data/man/bundle-open.1 +32 -0
  252. data/man/bundle-open.1.txt +29 -0
  253. data/man/bundle-open.ronn +19 -0
  254. data/man/bundle-outdated.1 +155 -0
  255. data/man/bundle-outdated.1.txt +131 -0
  256. data/man/bundle-outdated.ronn +111 -0
  257. data/{lib/bundler/man/bundle-package → man/bundle-package.1} +6 -3
  258. data/man/bundle-package.1.txt +79 -0
  259. data/man/bundle-package.ronn +7 -2
  260. data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +1 -1
  261. data/man/bundle-platform.1.txt +57 -0
  262. data/man/bundle-pristine.1 +34 -0
  263. data/man/bundle-pristine.1.txt +44 -0
  264. data/man/bundle-pristine.ronn +34 -0
  265. data/man/bundle-remove.1 +31 -0
  266. data/man/bundle-remove.1.txt +34 -0
  267. data/man/bundle-remove.ronn +23 -0
  268. data/man/bundle-show.1 +23 -0
  269. data/man/bundle-show.1.txt +27 -0
  270. data/man/bundle-show.ronn +21 -0
  271. data/man/bundle-update.1 +394 -0
  272. data/man/bundle-update.1.txt +391 -0
  273. data/man/bundle-update.ronn +172 -16
  274. data/man/bundle-viz.1 +39 -0
  275. data/man/bundle-viz.1.txt +39 -0
  276. data/man/bundle-viz.ronn +30 -0
  277. data/{lib/bundler/man/bundle → man/bundle.1} +44 -28
  278. data/man/bundle.1.txt +116 -0
  279. data/man/bundle.ronn +39 -27
  280. data/{lib/bundler/man → man}/gemfile.5 +67 -84
  281. data/man/gemfile.5.ronn +77 -55
  282. data/man/gemfile.5.txt +653 -0
  283. data/man/index.txt +25 -8
  284. metadata +118 -58
  285. data/.codeclimate.yml +0 -25
  286. data/.gitignore +0 -16
  287. data/.rspec +0 -3
  288. data/.rubocop.yml +0 -128
  289. data/.rubocop_todo.yml +0 -248
  290. data/.travis.yml +0 -108
  291. data/CODE_OF_CONDUCT.md +0 -42
  292. data/CONTRIBUTING.md +0 -36
  293. data/DEVELOPMENT.md +0 -148
  294. data/ISSUES.md +0 -100
  295. data/Rakefile +0 -333
  296. data/bin/rake +0 -19
  297. data/bin/rspec +0 -15
  298. data/bin/rubocop +0 -17
  299. data/bin/with_rubygems +0 -39
  300. data/lib/bundler/man/bundle-binstubs.txt +0 -33
  301. data/lib/bundler/man/bundle-config +0 -254
  302. data/lib/bundler/man/bundle-config.txt +0 -282
  303. data/lib/bundler/man/bundle-exec.txt +0 -171
  304. data/lib/bundler/man/bundle-gem.txt +0 -90
  305. data/lib/bundler/man/bundle-install.txt +0 -385
  306. data/lib/bundler/man/bundle-lock.txt +0 -52
  307. data/lib/bundler/man/bundle-package.txt +0 -74
  308. data/lib/bundler/man/bundle-platform.txt +0 -57
  309. data/lib/bundler/man/bundle-update +0 -221
  310. data/lib/bundler/man/bundle-update.txt +0 -227
  311. data/lib/bundler/man/bundle.txt +0 -104
  312. data/lib/bundler/man/gemfile.5.txt +0 -636
  313. data/lib/bundler/postit_trampoline.rb +0 -68
  314. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
  315. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
  316. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
  317. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
  318. data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
  319. data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
  320. data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
  321. data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
  322. data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
  323. data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
@@ -3,13 +3,25 @@ bundle-update(1) -- Update your gems to the latest available versions
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle update` <*gems> [--group=NAME] [--source=NAME] [--local] [--ruby]
6
+ `bundle update` <*gems> [--all]
7
+ [--group=NAME]
8
+ [--source=NAME]
9
+ [--local]
10
+ [--ruby]
11
+ [--bundler[=VERSION]]
12
+ [--full-index]
13
+ [--jobs=JOBS]
14
+ [--quiet]
15
+ [--force]
16
+ [--patch|--minor|--major]
17
+ [--strict]
18
+ [--conservative]
7
19
 
8
20
  ## DESCRIPTION
9
21
 
10
- Update the gems specified (all gems, if none are specified), ignoring
22
+ Update the gems specified (all gems, if `--all` flag is used), ignoring
11
23
  the previously installed gems specified in the `Gemfile.lock`. In
12
- general, you should use [bundle install(1)][bundle-install] to install the same exact
24
+ general, you should use [bundle install(1)](bundle-install.1.html) to install the same exact
13
25
  gems and versions across machines.
14
26
 
15
27
  You would use `bundle update` to explicitly update the version of a
@@ -17,7 +29,10 @@ gem.
17
29
 
18
30
  ## OPTIONS
19
31
 
20
- * `--group=<name>`:
32
+ * `--all`:
33
+ Update all gems specified in Gemfile.
34
+
35
+ * `--group=<name>`, `-g=[<name>]`:
21
36
  Only update the gems in the specified group. For instance, you can update all gems
22
37
  in the development group with `bundle update --group development`. You can also
23
38
  call `bundle update rails --group test` to update the rails gem and all gems in
@@ -37,9 +52,39 @@ gem.
37
52
  * `--bundler`:
38
53
  Update the locked version of bundler to the invoked bundler version.
39
54
 
55
+ * `--full-index`:
56
+ Fall back to using the single-file index of all gems.
57
+
58
+ * `--jobs=[<number>]`, `-j[<number>]`:
59
+ Specify the number of jobs to run in parallel. The default is `1`.
60
+
61
+ * `--retry=[<number>]`:
62
+ Retry failed network or git requests for <number> times.
63
+
64
+ * `--quiet`:
65
+ Only output warnings and errors.
66
+
67
+ * `--force`:
68
+ Force downloading every gem. `--redownload` is an alias of this option.
69
+
70
+ * `--patch`:
71
+ Prefer updating only to next patch version.
72
+
73
+ * `--minor`:
74
+ Prefer updating only to next minor version.
75
+
76
+ * `--major`:
77
+ Prefer updating to next major version (default).
78
+
79
+ * `--strict`:
80
+ Do not allow any gem to be updated past latest `--patch` | `--minor` | `--major`.
81
+
82
+ * `--conservative`:
83
+ Use bundle install conservative update behavior and do not allow shared dependencies to be updated.
84
+
40
85
  ## UPDATING ALL GEMS
41
86
 
42
- If you run `bundle update` with no parameters, bundler will ignore
87
+ If you run `bundle update --all`, bundler will ignore
43
88
  any previously installed gems and resolve all dependencies again
44
89
  based on the latest versions of all gems available in the sources.
45
90
 
@@ -50,7 +95,7 @@ Consider the following Gemfile(5):
50
95
  gem "rails", "3.0.0.rc"
51
96
  gem "nokogiri"
52
97
 
53
- When you run [bundle install(1)][bundle-install] the first time, bundler will resolve
98
+ When you run [bundle install(1)](bundle-install.1.html) the first time, bundler will resolve
54
99
  all of the dependencies, all the way down, and install what you need:
55
100
 
56
101
  Fetching gem metadata from https://rubygems.org/.........
@@ -87,21 +132,21 @@ all of the dependencies, all the way down, and install what you need:
87
132
 
88
133
  As you can see, even though you have two gems in the Gemfile(5), your application
89
134
  needs 26 different gems in order to run. Bundler remembers the exact versions
90
- it installed in `Gemfile.lock`. The next time you run [bundle install(1)][bundle-install], bundler skips
135
+ it installed in `Gemfile.lock`. The next time you run [bundle install(1)](bundle-install.1.html), bundler skips
91
136
  the dependency resolution and installs the same gems as it installed last time.
92
137
 
93
138
  After checking in the `Gemfile.lock` into version control and cloning it on another
94
- machine, running [bundle install(1)][bundle-install] will _still_ install the gems that you installed
139
+ machine, running [bundle install(1)](bundle-install.1.html) will _still_ install the gems that you installed
95
140
  last time. You don't need to worry that a new release of `erubis` or `mail` changes
96
141
  the gems you use.
97
142
 
98
143
  However, from time to time, you might want to update the gems you are using to the
99
144
  newest versions that still match the gems in your Gemfile(5).
100
145
 
101
- 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
102
147
  all the dependencies again. Keep in mind that this process can result in a significantly
103
148
  different set of the 25 gems, based on the requirements of new gems that the gem
104
- authors released since the last time you ran `bundle update`.
149
+ authors released since the last time you ran `bundle update --all`.
105
150
 
106
151
  ## UPDATING A LIST OF GEMS
107
152
 
@@ -146,13 +191,124 @@ In this case, the two gems have their own set of dependencies, but they share
146
191
  `bundle update thin` will update `rack` even though it's _also_ a dependency of
147
192
  `rack-perftools_profiler`.
148
193
 
149
- `In short`, when you update a gem using `bundle update`, bundler will update all
150
- dependencies of that gem, including those that are also dependencies of another gem.
194
+ In short, by default, when you update a gem using `bundle update`, bundler will
195
+ update all dependencies of that gem, including those that are also dependencies
196
+ of another gem.
197
+
198
+ To prevent updating shared dependencies, prior to version 1.14 the only option
199
+ was the `CONSERVATIVE UPDATING` behavior in [bundle install(1)](bundle-install.1.html):
151
200
 
152
201
  In this scenario, updating the `thin` version manually in the Gemfile(5),
153
- and then running [bundle install(1)][bundle-install] will only update `daemons` and `eventmachine`,
202
+ and then running [bundle install(1)](bundle-install.1.html) will only update `daemons` and `eventmachine`,
154
203
  but not `rack`. For more information, see the `CONSERVATIVE UPDATING` section
155
- of [bundle install(1)][bundle-install].
204
+ of [bundle install(1)](bundle-install.1.html).
205
+
206
+ Starting with 1.14, specifying the `--conservative` option will also prevent shared
207
+ dependencies from being updated.
208
+
209
+ ## PATCH LEVEL OPTIONS
210
+
211
+ Version 1.14 introduced 4 patch-level options that will influence how gem
212
+ versions are resolved. One of the following options can be used: `--patch`,
213
+ `--minor` or `--major`. `--strict` can be added to further influence resolution.
214
+
215
+ * `--patch`:
216
+ Prefer updating only to next patch version.
217
+
218
+ * `--minor`:
219
+ Prefer updating only to next minor version.
220
+
221
+ * `--major`:
222
+ Prefer updating to next major version (default).
223
+
224
+ * `--strict`:
225
+ Do not allow any gem to be updated past latest `--patch` | `--minor` | `--major`.
226
+
227
+ When Bundler is resolving what versions to use to satisfy declared
228
+ requirements in the Gemfile or in parent gems, it looks up all
229
+ available versions, filters out any versions that don't satisfy
230
+ the requirement, and then, by default, sorts them from newest to
231
+ oldest, considering them in that order.
232
+
233
+ Providing one of the patch level options (e.g. `--patch`) changes the
234
+ sort order of the satisfying versions, causing Bundler to consider the
235
+ latest `--patch` or `--minor` version available before other versions.
236
+ Note that versions outside the stated patch level could still be
237
+ resolved to if necessary to find a suitable dependency graph.
238
+
239
+ For example, if gem 'foo' is locked at 1.0.2, with no gem requirement
240
+ defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0
241
+ all exist, the default order of preference by default (`--major`) will
242
+ be "2.0.0, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2".
243
+
244
+ If the `--patch` option is used, the order of preference will change to
245
+ "1.0.4, 1.0.3, 1.0.2, 1.1.1, 1.1.0, 2.0.0".
246
+
247
+ If the `--minor` option is used, the order of preference will change to
248
+ "1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 2.0.0".
249
+
250
+ Combining the `--strict` option with any of the patch level options
251
+ will remove any versions beyond the scope of the patch level option,
252
+ to ensure that no gem is updated that far.
253
+
254
+ To continue the previous example, if both `--patch` and `--strict`
255
+ options are used, the available versions for resolution would be
256
+ "1.0.4, 1.0.3, 1.0.2". If `--minor` and `--strict` are used, it would
257
+ be "1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2".
258
+
259
+ Gem requirements as defined in the Gemfile will still be the first
260
+ determining factor for what versions are available. If the gem
261
+ requirement for `foo` in the Gemfile is '~> 1.0', that will accomplish
262
+ the same thing as providing the `--minor` and `--strict` options.
263
+
264
+ ## PATCH LEVEL EXAMPLES
265
+
266
+ Given the following gem specifications:
267
+
268
+ foo 1.4.3, requires: ~> bar 2.0
269
+ foo 1.4.4, requires: ~> bar 2.0
270
+ foo 1.4.5, requires: ~> bar 2.1
271
+ foo 1.5.0, requires: ~> bar 2.1
272
+ foo 1.5.1, requires: ~> bar 3.0
273
+ bar with versions 2.0.3, 2.0.4, 2.1.0, 2.1.1, 3.0.0
274
+
275
+ Gemfile:
276
+
277
+ gem 'foo'
278
+
279
+ Gemfile.lock:
280
+
281
+ foo (1.4.3)
282
+ bar (~> 2.0)
283
+ bar (2.0.3)
284
+
285
+ Cases:
286
+
287
+ # Command Line Result
288
+ ------------------------------------------------------------
289
+ 1 bundle update --patch 'foo 1.4.5', 'bar 2.1.1'
290
+ 2 bundle update --patch foo 'foo 1.4.5', 'bar 2.1.1'
291
+ 3 bundle update --minor 'foo 1.5.1', 'bar 3.0.0'
292
+ 4 bundle update --minor --strict 'foo 1.5.0', 'bar 2.1.1'
293
+ 5 bundle update --patch --strict 'foo 1.4.4', 'bar 2.0.4'
294
+
295
+ In case 1, bar is upgraded to 2.1.1, a minor version increase, because
296
+ the dependency from foo 1.4.5 required it.
297
+
298
+ In case 2, only foo is requested to be unlocked, but bar is also
299
+ allowed to move because it's not a declared dependency in the Gemfile.
300
+
301
+ In case 3, bar goes up a whole major release, because a minor increase
302
+ is preferred now for foo, and when it goes to 1.5.1, it requires 3.0.0
303
+ of bar.
304
+
305
+ In case 4, foo is preferred up to a minor version, but 1.5.1 won't work
306
+ because the --strict flag removes bar 3.0.0 from consideration since
307
+ it's a major increment.
308
+
309
+ In case 5, both foo and bar have any minor or major increments removed
310
+ from consideration because of the --strict flag, so the most they can
311
+ move is up to 1.4.4 and 2.0.4.
156
312
 
157
313
  ## RECOMMENDED WORKFLOW
158
314
 
@@ -183,7 +339,7 @@ use the following workflow:
183
339
 
184
340
  $ git add Gemfile.lock
185
341
 
186
- * If [bundle install(1)][bundle-install] reports a conflict, manually update the specific
342
+ * If [bundle install(1)](bundle-install.1.html) reports a conflict, manually update the specific
187
343
  gems that you changed in the Gemfile(5)
188
344
 
189
345
  $ bundle update rails thin
@@ -191,4 +347,4 @@ use the following workflow:
191
347
  * If you want to update all the gems to the latest possible versions that
192
348
  still match the gems listed in the Gemfile(5), run
193
349
 
194
- $ bundle update
350
+ $ bundle update --all
data/man/bundle-viz.1 ADDED
@@ -0,0 +1,39 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-VIZ" "1" "November 2018" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle viz\fR [\-\-file=FILE] [\-\-format=FORMAT] [\-\-requirements] [\-\-version] [\-\-without=GROUP GROUP]
11
+ .
12
+ .SH "DESCRIPTION"
13
+ \fBviz\fR generates a PNG file of the current \fBGemfile(5)\fR as a dependency graph\. \fBviz\fR requires the ruby\-graphviz gem (and its dependencies)\.
14
+ .
15
+ .P
16
+ The associated gems must also be installed via \fBbundle install(1)\fR \fIbundle\-install\.1\.html\fR\.
17
+ .
18
+ .SH "OPTIONS"
19
+ .
20
+ .TP
21
+ \fB\-\-file\fR, \fB\-f\fR
22
+ The name to use for the generated file\. See \fB\-\-format\fR option
23
+ .
24
+ .TP
25
+ \fB\-\-format\fR, \fB\-F\fR
26
+ This is output format option\. Supported format is png, jpg, svg, dot \.\.\.
27
+ .
28
+ .TP
29
+ \fB\-\-requirements\fR, \fB\-R\fR
30
+ Set to show the version of each required dependency\.
31
+ .
32
+ .TP
33
+ \fB\-\-version\fR, \fB\-v\fR
34
+ Set to show each gem version\.
35
+ .
36
+ .TP
37
+ \fB\-\-without\fR, \fB\-W\fR
38
+ Exclude gems that are part of the specified named group\.
39
+
@@ -0,0 +1,39 @@
1
+ BUNDLE-VIZ(1) BUNDLE-VIZ(1)
2
+
3
+
4
+
5
+ NAME
6
+ bundle-viz - Generates a visual dependency graph for your Gemfile
7
+
8
+ SYNOPSIS
9
+ bundle viz [--file=FILE] [--format=FORMAT] [--requirements] [--version]
10
+ [--without=GROUP GROUP]
11
+
12
+ DESCRIPTION
13
+ viz generates a PNG file of the current Gemfile(5) as a dependency
14
+ graph. viz requires the ruby-graphviz gem (and its dependencies).
15
+
16
+ The associated gems must also be installed via bundle install(1) bun-
17
+ dle-install.1.html.
18
+
19
+ OPTIONS
20
+ --file, -f
21
+ The name to use for the generated file. See --format option
22
+
23
+ --format, -F
24
+ This is output format option. Supported format is png, jpg, svg,
25
+ dot ...
26
+
27
+ --requirements, -R
28
+ Set to show the version of each required dependency.
29
+
30
+ --version, -v
31
+ Set to show each gem version.
32
+
33
+ --without, -W
34
+ Exclude gems that are part of the specified named group.
35
+
36
+
37
+
38
+
39
+ November 2018 BUNDLE-VIZ(1)
@@ -0,0 +1,30 @@
1
+ bundle-viz(1) -- Generates a visual dependency graph for your Gemfile
2
+ =====================================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle viz` [--file=FILE]
7
+ [--format=FORMAT]
8
+ [--requirements]
9
+ [--version]
10
+ [--without=GROUP GROUP]
11
+
12
+ ## DESCRIPTION
13
+
14
+ `viz` generates a PNG file of the current `Gemfile(5)` as a dependency graph.
15
+ `viz` requires the ruby-graphviz gem (and its dependencies).
16
+
17
+ The associated gems must also be installed via [`bundle install(1)`](bundle-install.1.html).
18
+
19
+ ## OPTIONS
20
+
21
+ * `--file`, `-f`:
22
+ The name to use for the generated file. See `--format` option
23
+ * `--format`, `-F`:
24
+ This is output format option. Supported format is png, jpg, svg, dot ...
25
+ * `--requirements`, `-R`:
26
+ Set to show the version of each required dependency.
27
+ * `--version`, `-v`:
28
+ Set to show each gem version.
29
+ * `--without`, `-W`:
30
+ Exclude gems that are part of the specified named group.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE" "1" "October 2016" "" ""
4
+ .TH "BUNDLE" "1" "December 2018" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -22,33 +22,37 @@ See the bundler website \fIhttp://bundler\.io\fR for information on getting star
22
22
  Print all output without color
23
23
  .
24
24
  .TP
25
- \fB\-\-verbose\fR
25
+ \fB\-\-retry\fR, \fB\-r\fR
26
+ Specify the number of times you wish to attempt network commands
27
+ .
28
+ .TP
29
+ \fB\-\-verbose\fR, \fB\-V\fR
26
30
  Print out additional logging information
27
31
  .
28
32
  .SH "BUNDLE COMMANDS"
29
- We divide \fBbundle\fR subcommands into primary commands and utilities\.
33
+ We divide \fBbundle\fR subcommands into primary commands and utilities:
30
34
  .
31
35
  .SH "PRIMARY COMMANDS"
32
36
  .
33
37
  .TP
34
- bundle install(1) \fIbundle\-install\.1\.html\fR
38
+ \fBbundle install(1)\fR \fIbundle\-install\.1\.html\fR
35
39
  Install the gems specified by the \fBGemfile\fR or \fBGemfile\.lock\fR
36
40
  .
37
41
  .TP
38
- bundle update(1) \fIbundle\-update\.1\.html\fR
42
+ \fBbundle update(1)\fR \fIbundle\-update\.1\.html\fR
39
43
  Update dependencies to their latest versions
40
44
  .
41
45
  .TP
42
- bundle package(1) \fIbundle\-package\.1\.html\fR
46
+ \fBbundle package(1)\fR \fIbundle\-package\.1\.html\fR
43
47
  Package the \.gem files required by your application into the \fBvendor/cache\fR directory
44
48
  .
45
49
  .TP
46
- bundle exec(1) \fIbundle\-exec\.1\.html\fR
47
- Execute a script in the context of the current bundle
50
+ \fBbundle exec(1)\fR \fIbundle\-exec\.1\.html\fR
51
+ Execute a script in the current bundle
48
52
  .
49
53
  .TP
50
- bundle config(1) \fIbundle\-config\.1\.html\fR
51
- Specify and read configuration options for bundler
54
+ \fBbundle config(1)\fR \fIbundle\-config\.1\.html\fR
55
+ Specify and read configuration options for Bundler
52
56
  .
53
57
  .TP
54
58
  \fBbundle help(1)\fR
@@ -57,64 +61,76 @@ Display detailed help for each subcommand
57
61
  .SH "UTILITIES"
58
62
  .
59
63
  .TP
60
- \fBbundle check(1)\fR
61
- Determine whether the requirements for your application are installed and available to bundler
64
+ \fBbundle add(1)\fR \fIbundle\-add\.1\.html\fR
65
+ Add the named gem to the Gemfile and run \fBbundle install\fR
62
66
  .
63
67
  .TP
64
- \fBbundle show(1)\fR
68
+ \fBbundle binstubs(1)\fR \fIbundle\-binstubs\.1\.html\fR
69
+ Generate binstubs for executables in a gem
70
+ .
71
+ .TP
72
+ \fBbundle check(1)\fR \fIbundle\-check\.1\.html\fR
73
+ Determine whether the requirements for your application are installed and available to Bundler
74
+ .
75
+ .TP
76
+ \fBbundle show(1)\fR \fIbundle\-show\.1\.html\fR
65
77
  Show the source location of a particular gem in the bundle
66
78
  .
67
79
  .TP
68
- \fBbundle outdated(1)\fR
80
+ \fBbundle outdated(1)\fR \fIbundle\-outdated\.1\.html\fR
69
81
  Show all of the outdated gems in the current bundle
70
82
  .
71
83
  .TP
72
84
  \fBbundle console(1)\fR
73
- Start an IRB session in the context of the current bundle
85
+ Start an IRB session in the current bundle
74
86
  .
75
87
  .TP
76
- \fBbundle open(1)\fR
88
+ \fBbundle open(1)\fR \fIbundle\-open\.1\.html\fR
77
89
  Open an installed gem in the editor
78
90
  .
79
91
  .TP
80
- \fBbundle lock(1)\fR
92
+ \fBbundle lock(1)\fR \fIbundle\-lock\.1\.hmtl\fR
81
93
  Generate a lockfile for your dependencies
82
94
  .
83
95
  .TP
84
- \fBbundle viz(1)\fR
96
+ \fBbundle viz(1)\fR \fIbundle\-viz\.1\.html\fR
85
97
  Generate a visual representation of your dependencies
86
98
  .
87
99
  .TP
88
- \fBbundle init(1)\fR
100
+ \fBbundle init(1)\fR \fIbundle\-init\.1\.html\fR
89
101
  Generate a simple \fBGemfile\fR, placed in the current directory
90
102
  .
91
103
  .TP
92
- bundle gem(1) \fIbundle\-gem\.1\.html\fR
93
- Create a simple gem, suitable for development with bundler
104
+ \fBbundle gem(1)\fR \fIbundle\-gem\.1\.html\fR
105
+ Create a simple gem, suitable for development with Bundler
94
106
  .
95
107
  .TP
96
- bundle platform(1) \fIbundle\-platform\.1\.html\fR
108
+ \fBbundle platform(1)\fR \fIbundle\-platform\.1\.html\fR
97
109
  Display platform compatibility information
98
110
  .
99
111
  .TP
100
- \fBbundle clean(1)\fR
101
- Clean up unused gems in your bundler directory
112
+ \fBbundle clean(1)\fR \fIbundle\-clean\.1\.html\fR
113
+ Clean up unused gems in your Bundler directory
102
114
  .
103
115
  .TP
104
- \fBbundle doctor(1)\fR
105
- Display warnings about common potential problems
116
+ \fBbundle doctor(1)\fR \fIbundle\-doctor\.1\.html\fR
117
+ Display warnings about common problems
118
+ .
119
+ .TP
120
+ \fBbundle remove(1)\fR \fIbundle\-remove\.1\.html\fR
121
+ Removes gems from the Gemfile
106
122
  .
107
123
  .SH "PLUGINS"
108
124
  When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bundler will try to find an executable on your path named \fBbundler\-<command>\fR and execute it, passing down any extra arguments to it\.
109
125
  .
110
126
  .SH "OBSOLETE"
111
- These commands are obsolete and should no longer be used
127
+ These commands are obsolete and should no longer be used:
112
128
  .
113
129
  .IP "\(bu" 4
114
130
  \fBbundle cache(1)\fR
115
131
  .
116
132
  .IP "\(bu" 4
117
- \fBbundle list(1)\fR
133
+ \fBbundle show(1)\fR
118
134
  .
119
135
  .IP "" 0
120
136