bundler 1.17.2 → 2.2.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2095 -1251
  3. data/LICENSE.md +18 -19
  4. data/README.md +10 -11
  5. data/bundler.gemspec +10 -28
  6. data/exe/bundle +22 -3
  7. data/lib/bundler/build_metadata.rb +4 -12
  8. data/lib/bundler/capistrano.rb +4 -4
  9. data/lib/bundler/cli/add.rb +28 -16
  10. data/lib/bundler/cli/binstubs.rb +6 -2
  11. data/lib/bundler/cli/cache.rb +24 -17
  12. data/lib/bundler/cli/check.rb +4 -2
  13. data/lib/bundler/cli/clean.rb +1 -1
  14. data/lib/bundler/cli/common.rb +39 -13
  15. data/lib/bundler/cli/config.rb +161 -86
  16. data/lib/bundler/cli/console.rb +1 -1
  17. data/lib/bundler/cli/doctor.rb +20 -9
  18. data/lib/bundler/cli/exec.rb +8 -25
  19. data/lib/bundler/cli/fund.rb +36 -0
  20. data/lib/bundler/cli/gem.rb +213 -32
  21. data/lib/bundler/cli/info.rb +42 -7
  22. data/lib/bundler/cli/init.rb +2 -2
  23. data/lib/bundler/cli/inject.rb +1 -1
  24. data/lib/bundler/cli/install.rb +34 -44
  25. data/lib/bundler/cli/issue.rb +8 -7
  26. data/lib/bundler/cli/list.rb +19 -11
  27. data/lib/bundler/cli/lock.rb +5 -1
  28. data/lib/bundler/cli/open.rb +11 -8
  29. data/lib/bundler/cli/outdated.rb +142 -118
  30. data/lib/bundler/cli/plugin.rb +19 -2
  31. data/lib/bundler/cli/pristine.rb +6 -1
  32. data/lib/bundler/cli/remove.rb +1 -2
  33. data/lib/bundler/cli/show.rb +2 -2
  34. data/lib/bundler/cli/update.rb +43 -16
  35. data/lib/bundler/cli.rb +211 -150
  36. data/lib/bundler/compact_index_client/cache.rb +6 -14
  37. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  38. data/lib/bundler/compact_index_client/updater.rb +15 -28
  39. data/lib/bundler/compact_index_client.rb +28 -12
  40. data/lib/bundler/current_ruby.rb +14 -11
  41. data/lib/bundler/definition.rb +207 -368
  42. data/lib/bundler/dep_proxy.rb +16 -9
  43. data/lib/bundler/dependency.rb +19 -14
  44. data/lib/bundler/deployment.rb +1 -1
  45. data/lib/bundler/digest.rb +71 -0
  46. data/lib/bundler/dsl.rb +81 -81
  47. data/lib/bundler/endpoint_specification.rb +1 -1
  48. data/lib/bundler/env.rb +9 -14
  49. data/lib/bundler/environment_preserver.rb +29 -3
  50. data/lib/bundler/errors.rb +20 -3
  51. data/lib/bundler/feature_flag.rb +14 -33
  52. data/lib/bundler/fetcher/base.rb +1 -1
  53. data/lib/bundler/fetcher/compact_index.rb +28 -14
  54. data/lib/bundler/fetcher/dependency.rb +1 -1
  55. data/lib/bundler/fetcher/downloader.rb +14 -8
  56. data/lib/bundler/fetcher/index.rb +8 -8
  57. data/lib/bundler/fetcher.rb +22 -17
  58. data/lib/bundler/friendly_errors.rb +29 -48
  59. data/lib/bundler/gem_helper.rb +79 -43
  60. data/lib/bundler/gem_helpers.rb +38 -29
  61. data/lib/bundler/gem_tasks.rb +1 -1
  62. data/lib/bundler/gem_version_promoter.rb +5 -5
  63. data/lib/bundler/graph.rb +3 -3
  64. data/lib/bundler/index.rb +9 -9
  65. data/lib/bundler/injector.rb +33 -13
  66. data/lib/bundler/inline.rb +41 -30
  67. data/lib/bundler/installer/gem_installer.rb +9 -18
  68. data/lib/bundler/installer/parallel_installer.rb +50 -33
  69. data/lib/bundler/installer/standalone.rb +30 -11
  70. data/lib/bundler/installer.rb +39 -66
  71. data/lib/bundler/lazy_specification.rb +63 -28
  72. data/lib/bundler/lockfile_generator.rb +1 -1
  73. data/lib/bundler/lockfile_parser.rb +19 -52
  74. data/lib/bundler/{ssl_certs → man}/.document +0 -0
  75. data/{man → lib/bundler/man}/bundle-add.1 +10 -2
  76. data/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +7 -1
  77. data/{man → lib/bundler/man}/bundle-binstubs.1 +6 -4
  78. data/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +3 -5
  79. data/lib/bundler/man/bundle-cache.1 +55 -0
  80. data/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +15 -15
  81. data/{man → lib/bundler/man}/bundle-check.1 +1 -1
  82. data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  83. data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  84. data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  85. data/{man → lib/bundler/man}/bundle-config.1 +59 -60
  86. data/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +77 -78
  87. data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  88. data/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  89. data/{man → lib/bundler/man}/bundle-exec.1 +2 -2
  90. data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +1 -1
  91. data/{man → lib/bundler/man}/bundle-gem.1 +38 -3
  92. data/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
  93. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  94. data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  95. data/{man → lib/bundler/man}/bundle-init.1 +2 -2
  96. data/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +1 -1
  97. data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  98. data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  99. data/{man → lib/bundler/man}/bundle-install.1 +37 -7
  100. data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +34 -7
  101. data/{man → lib/bundler/man}/bundle-list.1 +7 -7
  102. data/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  103. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  104. data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  105. data/{man → lib/bundler/man}/bundle-open.1 +1 -1
  106. data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  107. data/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  108. data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  109. data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  110. data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  111. data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  112. data/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  113. data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  114. data/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  115. data/{man → lib/bundler/man}/bundle-show.1 +1 -1
  116. data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  117. data/{man → lib/bundler/man}/bundle-update.1 +7 -7
  118. data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +6 -6
  119. data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  120. data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  121. data/{man → lib/bundler/man}/bundle.1 +7 -3
  122. data/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +5 -2
  123. data/{man → lib/bundler/man}/gemfile.5 +44 -21
  124. data/{man → lib/bundler/man}/gemfile.5.ronn +24 -20
  125. data/{man → lib/bundler/man}/index.txt +1 -1
  126. data/lib/bundler/match_platform.rb +1 -1
  127. data/lib/bundler/mirror.rb +5 -5
  128. data/lib/bundler/plugin/api/source.rb +27 -7
  129. data/lib/bundler/plugin/api.rb +1 -1
  130. data/lib/bundler/plugin/dsl.rb +1 -1
  131. data/lib/bundler/plugin/index.rb +27 -4
  132. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  133. data/lib/bundler/plugin/installer.rb +35 -22
  134. data/lib/bundler/plugin/source_list.rb +5 -1
  135. data/lib/bundler/plugin.rb +100 -42
  136. data/lib/bundler/psyched_yaml.rb +0 -15
  137. data/lib/bundler/remote_specification.rb +5 -4
  138. data/lib/bundler/resolver/spec_group.rb +57 -53
  139. data/lib/bundler/resolver.rb +127 -113
  140. data/lib/bundler/retry.rb +4 -4
  141. data/lib/bundler/ruby_version.rb +5 -20
  142. data/lib/bundler/rubygems_ext.rb +103 -79
  143. data/lib/bundler/rubygems_gem_installer.rb +69 -8
  144. data/lib/bundler/rubygems_integration.rb +181 -446
  145. data/lib/bundler/runtime.rb +24 -34
  146. data/lib/bundler/settings.rb +159 -110
  147. data/lib/bundler/setup.rb +11 -12
  148. data/lib/bundler/shared_helpers.rb +56 -90
  149. data/lib/bundler/similarity_detector.rb +3 -3
  150. data/lib/bundler/source/git/git_proxy.rb +106 -105
  151. data/lib/bundler/source/git.rb +66 -39
  152. data/lib/bundler/source/metadata.rb +9 -9
  153. data/lib/bundler/source/path/installer.rb +10 -10
  154. data/lib/bundler/source/path.rb +23 -12
  155. data/lib/bundler/source/rubygems/remote.rb +3 -4
  156. data/lib/bundler/source/rubygems.rb +136 -120
  157. data/lib/bundler/source/rubygems_aggregate.rb +68 -0
  158. data/lib/bundler/source.rb +27 -6
  159. data/lib/bundler/source_list.rb +101 -66
  160. data/lib/bundler/source_map.rb +58 -0
  161. data/lib/bundler/spec_set.rb +49 -53
  162. data/lib/bundler/stub_specification.rb +40 -34
  163. data/lib/bundler/templates/Executable.bundler +24 -15
  164. data/lib/bundler/templates/Gemfile +1 -1
  165. data/lib/bundler/templates/gems.rb +1 -1
  166. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  167. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  168. data/lib/bundler/templates/newgem/Gemfile.tt +19 -2
  169. data/lib/bundler/templates/newgem/README.md.tt +7 -5
  170. data/lib/bundler/templates/newgem/Rakefile.tt +23 -5
  171. data/lib/bundler/templates/newgem/bin/console.tt +1 -0
  172. data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  173. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  174. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +27 -0
  175. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  176. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  177. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  178. data/lib/bundler/templates/newgem/newgem.gemspec.tt +29 -40
  179. data/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  180. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  181. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  182. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  183. data/lib/bundler/templates/newgem/standard.yml.tt +2 -0
  184. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  185. data/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  186. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  187. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  188. data/lib/bundler/templates/newgem/travis.yml.tt +0 -1
  189. data/lib/bundler/ui/rg_proxy.rb +1 -1
  190. data/lib/bundler/ui/shell.rb +7 -11
  191. data/lib/bundler/ui.rb +3 -3
  192. data/lib/bundler/uri_credentials_filter.rb +10 -4
  193. data/lib/bundler/vendor/.document +1 -0
  194. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  195. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  196. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  197. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  198. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +126 -0
  199. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  200. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +273 -147
  201. data/lib/bundler/vendor/molinillo/LICENSE +9 -0
  202. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  203. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  204. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  205. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  206. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  207. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +6 -6
  208. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  209. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -3
  210. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +39 -11
  211. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +38 -6
  212. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +4 -4
  213. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  214. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
  215. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +53 -51
  216. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +2 -2
  217. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +5 -6
  218. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  219. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
  220. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
  221. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  222. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +302 -462
  223. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  224. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
  225. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +3 -2
  226. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
  227. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +20 -9
  228. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +19 -8
  229. data/lib/bundler/vendor/thor/lib/thor/actions.rb +28 -13
  230. data/lib/bundler/vendor/thor/lib/thor/base.rb +63 -43
  231. data/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
  232. data/lib/bundler/vendor/thor/lib/thor/error.rb +78 -0
  233. data/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
  234. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
  235. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
  236. data/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
  237. data/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
  238. data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  239. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
  240. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
  241. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +21 -5
  242. data/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
  243. data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
  244. data/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
  245. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +65 -8
  246. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
  247. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
  248. data/lib/bundler/vendor/thor/lib/thor/shell.rb +4 -4
  249. data/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
  250. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  251. data/lib/bundler/vendor/thor/lib/thor.rb +16 -9
  252. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  253. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  254. data/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
  255. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  256. data/lib/bundler/vendor/uri/lib/uri/common.rb +744 -0
  257. data/lib/bundler/vendor/uri/lib/uri/file.rb +94 -0
  258. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  259. data/lib/bundler/vendor/uri/lib/uri/generic.rb +1568 -0
  260. data/lib/bundler/vendor/uri/lib/uri/http.rb +88 -0
  261. data/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  262. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  263. data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +21 -0
  264. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +294 -0
  265. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  266. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +125 -0
  267. data/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  268. data/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  269. data/lib/bundler/vendored_fileutils.rb +1 -6
  270. data/lib/bundler/vendored_molinillo.rb +1 -1
  271. data/lib/bundler/vendored_persistent.rb +7 -12
  272. data/lib/bundler/vendored_thor.rb +2 -2
  273. data/lib/bundler/vendored_tmpdir.rb +4 -0
  274. data/lib/bundler/vendored_tsort.rb +4 -0
  275. data/lib/bundler/vendored_uri.rb +4 -0
  276. data/lib/bundler/version.rb +1 -20
  277. data/lib/bundler/version_ranges.rb +51 -5
  278. data/lib/bundler/vlad.rb +2 -2
  279. data/lib/bundler/worker.rb +21 -8
  280. data/lib/bundler/yaml_serializer.rb +3 -4
  281. data/lib/bundler.rb +248 -118
  282. metadata +115 -190
  283. data/exe/bundle_ruby +0 -60
  284. data/lib/bundler/cli/package.rb +0 -49
  285. data/lib/bundler/compatibility_guard.rb +0 -14
  286. data/lib/bundler/gem_remote_fetcher.rb +0 -43
  287. data/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
  288. data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
  289. data/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  290. data/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  291. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
  292. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  293. data/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
  294. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
  295. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
  296. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
  297. data/man/bundle-add.1.txt +0 -52
  298. data/man/bundle-binstubs.1.txt +0 -48
  299. data/man/bundle-check.1.txt +0 -33
  300. data/man/bundle-clean.1.txt +0 -26
  301. data/man/bundle-config.1.txt +0 -529
  302. data/man/bundle-doctor.1.txt +0 -44
  303. data/man/bundle-exec.1.txt +0 -178
  304. data/man/bundle-gem.1.txt +0 -91
  305. data/man/bundle-info.1.txt +0 -21
  306. data/man/bundle-init.1.txt +0 -34
  307. data/man/bundle-inject.1.txt +0 -32
  308. data/man/bundle-install.1.txt +0 -396
  309. data/man/bundle-list.1.txt +0 -43
  310. data/man/bundle-lock.1.txt +0 -93
  311. data/man/bundle-open.1.txt +0 -29
  312. data/man/bundle-outdated.1.txt +0 -131
  313. data/man/bundle-package.1 +0 -55
  314. data/man/bundle-package.1.txt +0 -79
  315. data/man/bundle-platform.1.txt +0 -57
  316. data/man/bundle-pristine.1.txt +0 -44
  317. data/man/bundle-remove.1.txt +0 -34
  318. data/man/bundle-show.1.txt +0 -27
  319. data/man/bundle-update.1.txt +0 -391
  320. data/man/bundle-viz.1.txt +0 -39
  321. data/man/bundle.1.txt +0 -113
  322. data/man/gemfile.5.txt +0 -653
@@ -1,26 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "uri"
4
- require "bundler/match_platform"
3
+ require_relative "match_platform"
5
4
 
6
5
  module Bundler
7
6
  class LazySpecification
8
- Identifier = Struct.new(:name, :version, :source, :platform, :dependencies)
9
- class Identifier
10
- include Comparable
11
- def <=>(other)
12
- return unless other.is_a?(Identifier)
13
- [name, version, platform_string] <=> [other.name, other.version, other.platform_string]
14
- end
15
-
16
- protected
17
-
18
- def platform_string
19
- platform_string = platform.to_s
20
- platform_string == Index::RUBY ? Index::NULL : platform_string
21
- end
22
- end
23
-
24
7
  include MatchPlatform
25
8
 
26
9
  attr_reader :name, :version, :dependencies, :platform
@@ -47,8 +30,32 @@ module Bundler
47
30
  identifier == other.identifier
48
31
  end
49
32
 
33
+ def eql?(other)
34
+ identifier.eql?(other.identifier)
35
+ end
36
+
37
+ def hash
38
+ identifier.hash
39
+ end
40
+
41
+ ##
42
+ # Does this locked specification satisfy +dependency+?
43
+ #
44
+ # NOTE: Rubygems default requirement is ">= 0", which doesn't match
45
+ # prereleases of 0 versions, like "0.0.0.dev" or "0.0.0.SNAPSHOT". However,
46
+ # bundler users expect those to work. We need to make sure that Gemfile
47
+ # dependencies without explicit requirements (which use ">= 0" under the
48
+ # hood by default) are still valid for locked specs using this kind of
49
+ # versions. The method implements an ad-hoc fix for that. A better solution
50
+ # might be to change default rubygems requirement of dependencies to be ">=
51
+ # 0.A" but that's a major refactoring likely to break things. Hopefully we
52
+ # can attempt it in the future.
53
+ #
54
+
50
55
  def satisfies?(dependency)
51
- @name == dependency.name && dependency.requirement.satisfied_by?(Gem::Version.new(@version))
56
+ effective_requirement = dependency.requirement == Gem::Requirement.default ? Gem::Requirement.new(">= 0.A") : dependency.requirement
57
+
58
+ @name == dependency.name && effective_requirement.satisfied_by?(Gem::Version.new(@version))
52
59
  end
53
60
 
54
61
  def to_lock
@@ -69,17 +76,25 @@ module Bundler
69
76
  end
70
77
 
71
78
  def __materialize__
72
- search_object = Bundler.feature_flag.specific_platform? || Bundler.settings[:force_ruby_platform] ? self : Dependency.new(name, version)
73
79
  @specification = if source.is_a?(Source::Gemspec) && source.gemspec.name == name
74
80
  source.gemspec.tap {|s| s.source = source }
75
81
  else
76
- search = source.specs.search(search_object).last
77
- if search && Gem::Platform.new(search.platform) != Gem::Platform.new(platform) && !search.runtime_dependencies.-(dependencies.reject {|d| d.type == :development }).empty?
78
- Bundler.ui.warn "Unable to use the platform-specific (#{search.platform}) version of #{name} (#{version}) " \
79
- "because it has different dependencies from the #{platform} version. " \
80
- "To use the platform-specific version of the gem, run `bundle config specific_platform true` and install again."
81
- search = source.specs.search(self).last
82
+ search_object = if source.is_a?(Source::Path)
83
+ Dependency.new(name, version)
84
+ else
85
+ ruby_platform_materializes_to_ruby_platform? ? self : Dependency.new(name, version)
86
+ end
87
+ platform_object = Gem::Platform.new(platform)
88
+ candidates = source.specs.search(search_object)
89
+ same_platform_candidates = candidates.select do |spec|
90
+ MatchPlatform.platforms_match?(spec.platform, platform_object)
82
91
  end
92
+ installable_candidates = same_platform_candidates.select do |spec|
93
+ !spec.is_a?(EndpointSpecification) ||
94
+ (spec.required_ruby_version.satisfied_by?(Gem.ruby_version) &&
95
+ spec.required_rubygems_version.satisfied_by?(Gem.rubygems_version))
96
+ end
97
+ search = installable_candidates.last || same_platform_candidates.last
83
98
  search.dependencies = dependencies if search && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
84
99
  search
85
100
  end
@@ -98,7 +113,7 @@ module Bundler
98
113
  end
99
114
 
100
115
  def identifier
101
- @__identifier ||= Identifier.new(name, version, source, platform, dependencies)
116
+ @__identifier ||= [name, version, platform_string]
102
117
  end
103
118
 
104
119
  def git_version
@@ -106,7 +121,14 @@ module Bundler
106
121
  " #{source.revision[0..6]}"
107
122
  end
108
123
 
109
- private
124
+ protected
125
+
126
+ def platform_string
127
+ platform_string = platform.to_s
128
+ platform_string == Index::RUBY ? Index::NULL : platform_string
129
+ end
130
+
131
+ private
110
132
 
111
133
  def to_ary
112
134
  nil
@@ -119,5 +141,18 @@ module Bundler
119
141
 
120
142
  @specification.send(method, *args, &blk)
121
143
  end
144
+
145
+ #
146
+ # For backwards compatibility with existing lockfiles, if the most specific
147
+ # locked platform is RUBY, we keep the previous behaviour of resolving the
148
+ # best platform variant at materiliazation time. For previous bundler
149
+ # versions (before 2.2.0) this was always the case (except when the lockfile
150
+ # only included non-ruby platforms), but we're also keeping this behaviour
151
+ # on newer bundlers unless users generate the lockfile from scratch or
152
+ # explicitly add a more specific platform.
153
+ #
154
+ def ruby_platform_materializes_to_ruby_platform?
155
+ !Bundler.most_specific_locked_platform?(Gem::Platform::RUBY) || Bundler.settings[:force_ruby_platform]
156
+ end
122
157
  end
123
158
  end
@@ -25,7 +25,7 @@ module Bundler
25
25
  out
26
26
  end
27
27
 
28
- private
28
+ private
29
29
 
30
30
  def add_sources
31
31
  definition.send(:sources).lock_sources.each_with_index do |source, idx|
@@ -1,15 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Some versions of the Bundler 1.1 RC series introduced corrupted
4
- # lockfiles. There were two major problems:
5
- #
6
- # * multiple copies of the same GIT section appeared in the lockfile
7
- # * when this happened, those sections got multiple copies of gems
8
- # in those sections.
9
- #
10
- # As a result, Bundler 1.1 contains code that fixes the earlier
11
- # corruption. We will remove this fix-up code in Bundler 1.2.
12
-
13
3
  module Bundler
14
4
  class LockfileParser
15
5
  attr_reader :sources, :dependencies, :specs, :platforms, :bundler_version, :ruby_version
@@ -23,16 +13,14 @@ module Bundler
23
13
  PATH = "PATH".freeze
24
14
  PLUGIN = "PLUGIN SOURCE".freeze
25
15
  SPECS = " specs:".freeze
26
- OPTIONS = /^ ([a-z]+): (.*)$/i
16
+ OPTIONS = /^ ([a-z]+): (.*)$/i.freeze
27
17
  SOURCE = [GIT, GEM, PATH, PLUGIN].freeze
28
18
 
29
19
  SECTIONS_BY_VERSION_INTRODUCED = {
30
- # The strings have to be dup'ed for old RG on Ruby 2.3+
31
- # TODO: remove dup in Bundler 2.0
32
- Gem::Version.create("1.0".dup) => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
33
- Gem::Version.create("1.10".dup) => [BUNDLED].freeze,
34
- Gem::Version.create("1.12".dup) => [RUBY].freeze,
35
- Gem::Version.create("1.13".dup) => [PLUGIN].freeze,
20
+ Gem::Version.create("1.0") => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
21
+ Gem::Version.create("1.10") => [BUNDLED].freeze,
22
+ Gem::Version.create("1.12") => [RUBY].freeze,
23
+ Gem::Version.create("1.13") => [PLUGIN].freeze,
36
24
  }.freeze
37
25
 
38
26
  KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten.freeze
@@ -65,8 +53,6 @@ module Bundler
65
53
  @state = nil
66
54
  @specs = {}
67
55
 
68
- @rubygems_aggregate = Source::Rubygems.new
69
-
70
56
  if lockfile.match(/<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|/)
71
57
  raise LockfileError, "Your #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} contains merge conflicts.\n" \
72
58
  "Run `git checkout HEAD -- #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` first to get a clean lock."
@@ -90,7 +76,6 @@ module Bundler
90
76
  send("parse_#{@state}", line)
91
77
  end
92
78
  end
93
- @sources << @rubygems_aggregate unless Bundler.feature_flag.lockfile_uses_separate_rubygems_sources?
94
79
  @specs = @specs.values.sort_by(&:identifier)
95
80
  warn_for_outdated_bundler_version
96
81
  rescue ArgumentError => e
@@ -101,22 +86,17 @@ module Bundler
101
86
 
102
87
  def warn_for_outdated_bundler_version
103
88
  return unless bundler_version
89
+ return if bundler_version.segments.last == "dev"
104
90
  prerelease_text = bundler_version.prerelease? ? " --pre" : ""
105
91
  current_version = Gem::Version.create(Bundler::VERSION)
106
- case current_version.segments.first <=> bundler_version.segments.first
107
- when -1
108
- raise LockfileError, "You must use Bundler #{bundler_version.segments.first} or greater with this lockfile."
109
- when 0
110
- if current_version < bundler_version
111
- Bundler.ui.warn "Warning: the running version of Bundler (#{current_version}) is older " \
112
- "than the version that created the lockfile (#{bundler_version}). We suggest you " \
113
- "upgrade to the latest version of Bundler by running `gem " \
114
- "install bundler#{prerelease_text}`.\n"
115
- end
116
- end
92
+ return unless current_version < bundler_version
93
+ Bundler.ui.warn "Warning: the running version of Bundler (#{current_version}) is older " \
94
+ "than the version that created the lockfile (#{bundler_version}). We suggest you to " \
95
+ "upgrade to the version that created the lockfile by running `gem install " \
96
+ "bundler:#{bundler_version}#{prerelease_text}`.\n"
117
97
  end
118
98
 
119
- private
99
+ private
120
100
 
121
101
  TYPES = {
122
102
  GIT => Bundler::Source::Git,
@@ -134,23 +114,11 @@ module Bundler
134
114
  @sources << @current_source
135
115
  when GIT
136
116
  @current_source = TYPES[@type].from_lock(@opts)
137
- # Strip out duplicate GIT sections
138
- if @sources.include?(@current_source)
139
- @current_source = @sources.find {|s| s == @current_source }
140
- else
141
- @sources << @current_source
142
- end
117
+ @sources << @current_source
143
118
  when GEM
144
- if Bundler.feature_flag.lockfile_uses_separate_rubygems_sources?
145
- @opts["remotes"] = @opts.delete("remote")
146
- @current_source = TYPES[@type].from_lock(@opts)
147
- @sources << @current_source
148
- else
149
- Array(@opts["remote"]).each do |url|
150
- @rubygems_aggregate.add_remote(url)
151
- end
152
- @current_source = @rubygems_aggregate
153
- end
119
+ @opts["remotes"] = Array(@opts.delete("remote")).reverse
120
+ @current_source = TYPES[@type].from_lock(@opts)
121
+ @sources << @current_source
154
122
  when PLUGIN
155
123
  @current_source = Plugin.source_from_lock(@opts)
156
124
  @sources << @current_source
@@ -185,7 +153,7 @@ module Bundler
185
153
  (?:-(.*))?\))? # Optional platform
186
154
  (!)? # Optional pinned marker
187
155
  $ # Line end
188
- /xo
156
+ /xo.freeze
189
157
 
190
158
  def parse_dependency(line)
191
159
  return unless line =~ NAME_VERSION
@@ -228,10 +196,9 @@ module Bundler
228
196
  platform = platform ? Gem::Platform.new(platform) : Gem::Platform::RUBY
229
197
  @current_spec = LazySpecification.new(name, version, platform)
230
198
  @current_spec.source = @current_source
199
+ @current_source.add_dependency_names(name)
231
200
 
232
- # Avoid introducing multiple copies of the same spec (caused by
233
- # duplicate GIT sections)
234
- @specs[@current_spec.identifier] ||= @current_spec
201
+ @specs[@current_spec.identifier] = @current_spec
235
202
  elsif spaces.size == 6
236
203
  version = version.split(",").map(&:strip) if version
237
204
  dep = Gem::Dependency.new(name, version)
File without changes
@@ -1,13 +1,13 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "November 2018" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
10
+ \fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-git=GIT] [\-\-branch=BRANCH] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
13
  Adds the named gem to the Gemfile and run \fBbundle install\fR\. \fBbundle install\fR can be avoided by using the flag \fB\-\-skip\-install\fR\.
@@ -45,6 +45,14 @@ Specify the group(s) for the added gem\. Multiple groups should be separated by
45
45
  Specify the source for the added gem\.
46
46
  .
47
47
  .TP
48
+ \fB\-\-git\fR
49
+ Specify the git source for the added gem\.
50
+ .
51
+ .TP
52
+ \fB\-\-branch\fR
53
+ Specify the git branch for the added gem\.
54
+ .
55
+ .TP
48
56
  \fB\-\-skip\-install\fR
49
57
  Adds the gem to the Gemfile but does not install it\.
50
58
  .
@@ -3,7 +3,7 @@ bundle-add(1) -- Add gem to the Gemfile and run bundle install
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--skip-install] [--strict] [--optimistic]
6
+ `bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--git=GIT] [--branch=BRANCH] [--skip-install] [--strict] [--optimistic]
7
7
 
8
8
  ## DESCRIPTION
9
9
  Adds the named gem to the Gemfile and run `bundle install`. `bundle install` can be avoided by using the flag `--skip-install`.
@@ -30,6 +30,12 @@ bundle add rails --group "development, test"
30
30
  * `--source`, , `-s`:
31
31
  Specify the source for the added gem.
32
32
 
33
+ * `--git`:
34
+ Specify the git source for the added gem.
35
+
36
+ * `--branch`:
37
+ Specify the git branch for the added gem.
38
+
33
39
  * `--skip-install`:
34
40
  Adds the gem to the Gemfile but does not install it.
35
41
 
@@ -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\-BINSTUBS" "1" "November 2018" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -10,7 +10,7 @@
10
10
  \fBbundle binstubs\fR \fIGEM_NAME\fR [\-\-force] [\-\-path PATH] [\-\-standalone]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
- Binstubs are scripts that wrap around executables\. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it into \fBbin/\fR\. Binstubs are a shortcut\-or alternative\- to always using \fBbundle exec\fR\. This gives you a file that can by run directly, and one that will always run the correct gem version used by the application\.
13
+ Binstubs are scripts that wrap around executables\. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it into \fBbin/\fR\. Binstubs are a shortcut\-or alternative\- to always using \fBbundle exec\fR\. This gives you a file that can be run directly, and one that will always run the correct gem version used by the application\.
14
14
  .
15
15
  .P
16
16
  For example, if you run \fBbundle binstubs rspec\-core\fR, Bundler will create the file \fBbin/rspec\fR\. That file will contain enough code to load Bundler, tell it to load the bundled gems, and then run rspec\.
@@ -36,5 +36,7 @@ Makes binstubs that can work without depending on Rubygems or Bundler at runtime
36
36
  \fB\-\-shebang\fR
37
37
  Specify a different shebang executable name than the default (default \'ruby\')
38
38
  .
39
- .SH "BUNDLE INSTALL \-\-BINSTUBS"
40
- To create binstubs for all the gems in the bundle you can use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR\.
39
+ .TP
40
+ \fB\-\-all\fR
41
+ Create binstubs for all gems in the bundle\.
42
+
@@ -10,7 +10,7 @@ bundle-binstubs(1) -- Install the binstubs of the listed gems
10
10
  Binstubs are scripts that wrap around executables. Bundler creates a
11
11
  small Ruby file (a binstub) that loads Bundler, runs the command,
12
12
  and puts it into `bin/`. Binstubs are a shortcut-or alternative-
13
- to always using `bundle exec`. This gives you a file that can by run
13
+ to always using `bundle exec`. This gives you a file that can be run
14
14
  directly, and one that will always run the correct gem version
15
15
  used by the application.
16
16
 
@@ -37,7 +37,5 @@ Calling binstubs with [GEM [GEM]] will create binstubs for all given gems.
37
37
  * `--shebang`:
38
38
  Specify a different shebang executable name than the default (default 'ruby')
39
39
 
40
- ## BUNDLE INSTALL --BINSTUBS
41
-
42
- To create binstubs for all the gems in the bundle you can use the `--binstubs`
43
- flag in [bundle install(1)](bundle-install.1.html).
40
+ * `--all`:
41
+ Create binstubs for all gems in the bundle.
@@ -0,0 +1,55 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-CACHE" "1" "December 2021" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle cache\fR
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running [bundle install(1)][bundle\-install], use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\.
14
+ .
15
+ .SH "GIT AND PATH GEMS"
16
+ The \fBbundle cache\fR command can also package \fB:git\fR and \fB:path\fR dependencies besides \.gem files\. This needs to be explicitly enabled via the \fB\-\-all\fR option\. Once used, the \fB\-\-all\fR option will be remembered\.
17
+ .
18
+ .SH "SUPPORT FOR MULTIPLE PLATFORMS"
19
+ When using gems that have different packages for different platforms, Bundler supports caching of gems for other platforms where the Gemfile has been resolved (i\.e\. present in the lockfile) in \fBvendor/cache\fR\. This needs to be enabled via the \fB\-\-all\-platforms\fR option\. This setting will be remembered in your local bundler configuration\.
20
+ .
21
+ .SH "REMOTE FETCHING"
22
+ By default, if you run \fBbundle install(1)\fR](bundle\-install\.1\.html) after running bundle cache(1) \fIbundle\-cache\.1\.html\fR, bundler will still connect to \fBrubygems\.org\fR to check whether a platform\-specific gem exists for any of the gems in \fBvendor/cache\fR\.
23
+ .
24
+ .P
25
+ For instance, consider this Gemfile(5):
26
+ .
27
+ .IP "" 4
28
+ .
29
+ .nf
30
+
31
+ source "https://rubygems\.org"
32
+
33
+ gem "nokogiri"
34
+ .
35
+ .fi
36
+ .
37
+ .IP "" 0
38
+ .
39
+ .P
40
+ If you run \fBbundle cache\fR under C Ruby, bundler will retrieve the version of \fBnokogiri\fR for the \fB"ruby"\fR platform\. If you deploy to JRuby and run \fBbundle install\fR, bundler is forced to check to see whether a \fB"java"\fR platformed \fBnokogiri\fR exists\.
41
+ .
42
+ .P
43
+ Even though the \fBnokogiri\fR gem for the Ruby platform is \fItechnically\fR acceptable on JRuby, it has a C extension that does not run on JRuby\. As a result, bundler will, by default, still connect to \fBrubygems\.org\fR to check whether it has a version of one of your gems more specific to your platform\.
44
+ .
45
+ .P
46
+ This problem is also not limited to the \fB"java"\fR platform\. A similar (common) problem can happen when developing on Windows and deploying to Linux, or even when developing on OSX and deploying to Linux\.
47
+ .
48
+ .P
49
+ If you know for sure that the gems packaged in \fBvendor/cache\fR are appropriate for the platform you are on, you can run \fBbundle install \-\-local\fR to skip checking for more appropriate gems, and use the ones in \fBvendor/cache\fR\.
50
+ .
51
+ .P
52
+ One way to be sure that you have the right platformed versions of all your gems is to run \fBbundle cache\fR on an identical machine and check in the gems\. For instance, you can run \fBbundle cache\fR on an identical staging box during your staging process, and check in the \fBvendor/cache\fR before deploying to production\.
53
+ .
54
+ .P
55
+ By default, bundle cache(1) \fIbundle\-cache\.1\.html\fR fetches and also installs the gems to the default location\. To package the dependencies to \fBvendor/cache\fR without installing them to the local install location, you can run \fBbundle cache \-\-no\-install\fR\.
@@ -1,9 +1,9 @@
1
- bundle-package(1) -- Package your needed `.gem` files into your application
1
+ bundle-cache(1) -- Package your needed `.gem` files into your application
2
2
  ===========================================================================
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle package`
6
+ `bundle cache`
7
7
 
8
8
  ## DESCRIPTION
9
9
 
@@ -13,22 +13,22 @@ use the gems in the cache in preference to the ones on `rubygems.org`.
13
13
 
14
14
  ## GIT AND PATH GEMS
15
15
 
16
- Since Bundler 1.2, the `bundle package` command can also package `:git` and
17
- `:path` dependencies besides .gem files. This needs to be explicitly enabled
18
- via the `--all` option. Once used, the `--all` option will be remembered.
16
+ The `bundle cache` command can also package `:git` and `:path` dependencies
17
+ besides .gem files. This needs to be explicitly enabled via the `--all` option.
18
+ Once used, the `--all` option will be remembered.
19
19
 
20
20
  ## SUPPORT FOR MULTIPLE PLATFORMS
21
21
 
22
22
  When using gems that have different packages for different platforms, Bundler
23
- 1.8 and newer support caching of gems for other platforms where the Gemfile
24
- has been resolved (i.e. present in the lockfile) in `vendor/cache`. This needs
25
- to be enabled via the `--all-platforms` option. This setting will be remembered
26
- in your local bundler configuration.
23
+ supports caching of gems for other platforms where the Gemfile has been resolved
24
+ (i.e. present in the lockfile) in `vendor/cache`. This needs to be enabled via
25
+ the `--all-platforms` option. This setting will be remembered in your local
26
+ bundler configuration.
27
27
 
28
28
  ## REMOTE FETCHING
29
29
 
30
30
  By default, if you run `bundle install(1)`](bundle-install.1.html) after running
31
- [bundle package(1)](bundle-package.1.html), bundler will still connect to `rubygems.org`
31
+ [bundle cache(1)](bundle-cache.1.html), bundler will still connect to `rubygems.org`
32
32
  to check whether a platform-specific gem exists for any of the gems
33
33
  in `vendor/cache`.
34
34
 
@@ -38,7 +38,7 @@ For instance, consider this Gemfile(5):
38
38
 
39
39
  gem "nokogiri"
40
40
 
41
- If you run `bundle package` under C Ruby, bundler will retrieve
41
+ If you run `bundle cache` under C Ruby, bundler will retrieve
42
42
  the version of `nokogiri` for the `"ruby"` platform. If you deploy
43
43
  to JRuby and run `bundle install`, bundler is forced to check to
44
44
  see whether a `"java"` platformed `nokogiri` exists.
@@ -60,13 +60,13 @@ are appropriate for the platform you are on, you can run
60
60
  gems, and use the ones in `vendor/cache`.
61
61
 
62
62
  One way to be sure that you have the right platformed versions
63
- of all your gems is to run `bundle package` on an identical
63
+ of all your gems is to run `bundle cache` on an identical
64
64
  machine and check in the gems. For instance, you can run
65
- `bundle package` on an identical staging box during your
65
+ `bundle cache` on an identical staging box during your
66
66
  staging process, and check in the `vendor/cache` before
67
67
  deploying to production.
68
68
 
69
- By default, [bundle package(1)](bundle-package.1.html) fetches and also
69
+ By default, [bundle cache(1)](bundle-cache.1.html) fetches and also
70
70
  installs the gems to the default location. To package the
71
71
  dependencies to `vendor/cache` without installing them to the
72
- local install location, you can run `bundle package --no-install`.
72
+ local install location, you can run `bundle cache --no-install`.
@@ -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\-CHECK" "1" "November 2018" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -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\-CLEAN" "1" "November 2018" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory