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,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\-UPDATE" "1" "December 2018" "" ""
4
+ .TH "BUNDLE\-UPDATE" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-update\fR \- Update your gems to the latest available versions
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle update\fR \fI*gems\fR [\-\-all] [\-\-group=NAME] [\-\-source=NAME] [\-\-local] [\-\-ruby] [\-\-bundler[=VERSION]] [\-\-full\-index] [\-\-jobs=JOBS] [\-\-quiet] [\-\-force] [\-\-patch|\-\-minor|\-\-major] [\-\-strict] [\-\-conservative]
10
+ \fBbundle update\fR \fI*gems\fR [\-\-all] [\-\-group=NAME] [\-\-source=NAME] [\-\-local] [\-\-ruby] [\-\-bundler[=VERSION]] [\-\-full\-index] [\-\-jobs=JOBS] [\-\-quiet] [\-\-patch|\-\-minor|\-\-major] [\-\-redownload] [\-\-strict] [\-\-conservative]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
13
  Update the gems specified (all gems, if \fB\-\-all\fR flag is used), ignoring the previously installed gems specified in the \fBGemfile\.lock\fR\. In general, you should use bundle install(1) \fIbundle\-install\.1\.html\fR to install the same exact gems and versions across machines\.
@@ -58,8 +58,8 @@ Retry failed network or git requests for \fInumber\fR times\.
58
58
  Only output warnings and errors\.
59
59
  .
60
60
  .TP
61
- \fB\-\-force\fR
62
- Force downloading every gem\. \fB\-\-redownload\fR is an alias of this option\.
61
+ \fB\-\-redownload\fR
62
+ Force downloading every gem\.
63
63
  .
64
64
  .TP
65
65
  \fB\-\-patch\fR
@@ -79,7 +79,7 @@ Do not allow any gem to be updated past latest \fB\-\-patch\fR | \fB\-\-minor\fR
79
79
  .
80
80
  .TP
81
81
  \fB\-\-conservative\fR
82
- Use bundle install conservative update behavior and do not allow shared dependencies to be updated\.
82
+ Use bundle install conservative update behavior and do not allow indirect dependencies to be updated\.
83
83
  .
84
84
  .SH "UPDATING ALL GEMS"
85
85
  If you run \fBbundle update \-\-all\fR, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\.
@@ -208,13 +208,13 @@ In this case, the two gems have their own set of dependencies, but they share \f
208
208
  In short, by default, when you update a gem using \fBbundle update\fR, bundler will update all dependencies of that gem, including those that are also dependencies of another gem\.
209
209
  .
210
210
  .P
211
- To prevent updating shared dependencies, prior to version 1\.14 the only option was the \fBCONSERVATIVE UPDATING\fR behavior in bundle install(1) \fIbundle\-install\.1\.html\fR:
211
+ To prevent updating indirect dependencies, prior to version 1\.14 the only option was the \fBCONSERVATIVE UPDATING\fR behavior in bundle install(1) \fIbundle\-install\.1\.html\fR:
212
212
  .
213
213
  .P
214
214
  In this scenario, updating the \fBthin\fR version manually in the Gemfile(5), and then running bundle install(1) \fIbundle\-install\.1\.html\fR will only update \fBdaemons\fR and \fBeventmachine\fR, but not \fBrack\fR\. For more information, see the \fBCONSERVATIVE UPDATING\fR section of bundle install(1) \fIbundle\-install\.1\.html\fR\.
215
215
  .
216
216
  .P
217
- Starting with 1\.14, specifying the \fB\-\-conservative\fR option will also prevent shared dependencies from being updated\.
217
+ Starting with 1\.14, specifying the \fB\-\-conservative\fR option will also prevent indirect dependencies from being updated\.
218
218
  .
219
219
  .SH "PATCH LEVEL OPTIONS"
220
220
  Version 1\.14 introduced 4 patch\-level options that will influence how gem versions are resolved\. One of the following options can be used: \fB\-\-patch\fR, \fB\-\-minor\fR or \fB\-\-major\fR\. \fB\-\-strict\fR can be added to further influence resolution\.
@@ -12,8 +12,8 @@ bundle-update(1) -- Update your gems to the latest available versions
12
12
  [--full-index]
13
13
  [--jobs=JOBS]
14
14
  [--quiet]
15
- [--force]
16
15
  [--patch|--minor|--major]
16
+ [--redownload]
17
17
  [--strict]
18
18
  [--conservative]
19
19
 
@@ -64,8 +64,8 @@ gem.
64
64
  * `--quiet`:
65
65
  Only output warnings and errors.
66
66
 
67
- * `--force`:
68
- Force downloading every gem. `--redownload` is an alias of this option.
67
+ * `--redownload`:
68
+ Force downloading every gem.
69
69
 
70
70
  * `--patch`:
71
71
  Prefer updating only to next patch version.
@@ -80,7 +80,7 @@ gem.
80
80
  Do not allow any gem to be updated past latest `--patch` | `--minor` | `--major`.
81
81
 
82
82
  * `--conservative`:
83
- Use bundle install conservative update behavior and do not allow shared dependencies to be updated.
83
+ Use bundle install conservative update behavior and do not allow indirect dependencies to be updated.
84
84
 
85
85
  ## UPDATING ALL GEMS
86
86
 
@@ -195,7 +195,7 @@ In short, by default, when you update a gem using `bundle update`, bundler will
195
195
  update all dependencies of that gem, including those that are also dependencies
196
196
  of another gem.
197
197
 
198
- To prevent updating shared dependencies, prior to version 1.14 the only option
198
+ To prevent updating indirect dependencies, prior to version 1.14 the only option
199
199
  was the `CONSERVATIVE UPDATING` behavior in [bundle install(1)](bundle-install.1.html):
200
200
 
201
201
  In this scenario, updating the `thin` version manually in the Gemfile(5),
@@ -203,7 +203,7 @@ and then running [bundle install(1)](bundle-install.1.html) will only update `da
203
203
  but not `rack`. For more information, see the `CONSERVATIVE UPDATING` section
204
204
  of [bundle install(1)](bundle-install.1.html).
205
205
 
206
- Starting with 1.14, specifying the `--conservative` option will also prevent shared
206
+ Starting with 1.14, specifying the `--conservative` option will also prevent indirect
207
207
  dependencies from being updated.
208
208
 
209
209
  ## PATCH LEVEL OPTIONS
@@ -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\-VIZ" "1" "November 2018" "" ""
4
+ .TH "BUNDLE\-VIZ" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
@@ -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" "November 2018" "" ""
4
+ .TH "BUNDLE" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -13,7 +13,7 @@
13
13
  Bundler manages an \fBapplication\'s dependencies\fR through its entire life across many machines systematically and repeatably\.
14
14
  .
15
15
  .P
16
- See the bundler website \fIhttp://bundler\.io\fR for information on getting started, and Gemfile(5) for more information on the \fBGemfile\fR format\.
16
+ See the bundler website \fIhttps://bundler\.io\fR for information on getting started, and Gemfile(5) for more information on the \fBGemfile\fR format\.
17
17
  .
18
18
  .SH "OPTIONS"
19
19
  .
@@ -89,7 +89,7 @@ Start an IRB session in the current bundle
89
89
  Open an installed gem in the editor
90
90
  .
91
91
  .TP
92
- \fBbundle lock(1)\fR \fIbundle\-lock\.1\.hmtl\fR
92
+ \fBbundle lock(1)\fR \fIbundle\-lock\.1\.html\fR
93
93
  Generate a lockfile for your dependencies
94
94
  .
95
95
  .TP
@@ -116,6 +116,10 @@ Clean up unused gems in your Bundler directory
116
116
  \fBbundle doctor(1)\fR \fIbundle\-doctor\.1\.html\fR
117
117
  Display warnings about common problems
118
118
  .
119
+ .TP
120
+ \fBbundle remove(1)\fR \fIbundle\-remove\.1\.html\fR
121
+ Removes gems from the Gemfile
122
+ .
119
123
  .SH "PLUGINS"
120
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\.
121
125
  .
@@ -10,7 +10,7 @@ bundle(1) -- Ruby Dependency Management
10
10
  Bundler manages an `application's dependencies` through its entire life
11
11
  across many machines systematically and repeatably.
12
12
 
13
- See [the bundler website](http://bundler.io) for information on getting
13
+ See [the bundler website](https://bundler.io) for information on getting
14
14
  started, and Gemfile(5) for more information on the `Gemfile` format.
15
15
 
16
16
  ## OPTIONS
@@ -73,7 +73,7 @@ We divide `bundle` subcommands into primary commands and utilities:
73
73
  * [`bundle open(1)`](bundle-open.1.html):
74
74
  Open an installed gem in the editor
75
75
 
76
- * [`bundle lock(1)`](bundle-lock.1.hmtl):
76
+ * [`bundle lock(1)`](bundle-lock.1.html):
77
77
  Generate a lockfile for your dependencies
78
78
 
79
79
  * [`bundle viz(1)`](bundle-viz.1.html):
@@ -94,6 +94,9 @@ We divide `bundle` subcommands into primary commands and utilities:
94
94
  * [`bundle doctor(1)`](bundle-doctor.1.html):
95
95
  Display warnings about common problems
96
96
 
97
+ * [`bundle remove(1)`](bundle-remove.1.html):
98
+ Removes gems from the Gemfile
99
+
97
100
  ## PLUGINS
98
101
 
99
102
  When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,
@@ -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" "November 2018" "" ""
4
+ .TH "GEMFILE" "5" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -150,7 +150,7 @@ gem "RedCloth", ">= 4\.1\.0", "< 4\.2\.0"
150
150
  .IP "" 0
151
151
  .
152
152
  .SS "REQUIRE AS"
153
- Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring via \fBBundler\.require\fR\. You may pass an array with multiple files or \fBtrue\fR if file you want \fBrequired\fR has same name as \fIgem\fR or \fBfalse\fR to prevent any file from being autorequired\.
153
+ Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring via \fBBundler\.require\fR\. You may pass an array with multiple files or \fBtrue\fR if the file you want \fBrequired\fR has the same name as \fIgem\fR or \fBfalse\fR to prevent any file from being autorequired\.
154
154
  .
155
155
  .IP "" 4
156
156
  .
@@ -158,7 +158,7 @@ Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring vi
158
158
 
159
159
  gem "redis", :require => ["redis/connection/hiredis", "redis"]
160
160
  gem "webmock", :require => false
161
- gem "debugger", :require => true
161
+ gem "byebug", :require => true
162
162
  .
163
163
  .fi
164
164
  .
@@ -218,27 +218,27 @@ Bundler\.require(:test) # requires the _test_ group
218
218
  .IP "" 0
219
219
  .
220
220
  .P
221
- The Bundler CLI allows you to specify a list of groups whose gems \fBbundle install\fR should not install with the \fB\-\-without\fR option\. To specify multiple groups to ignore, specify a list of groups separated by spaces\.
221
+ The Bundler CLI allows you to specify a list of groups whose gems \fBbundle install\fR should not install with the \fBwithout\fR configuration\.
222
+ .
223
+ .P
224
+ To specify multiple groups to ignore, specify a list of groups separated by spaces\.
222
225
  .
223
226
  .IP "" 4
224
227
  .
225
228
  .nf
226
229
 
227
- bundle install \-\-without test
228
- bundle install \-\-without development test
230
+ bundle config set \-\-local without test
231
+ bundle config set \-\-local without development test
229
232
  .
230
233
  .fi
231
234
  .
232
235
  .IP "" 0
233
236
  .
234
237
  .P
235
- After running \fBbundle install \-\-without test\fR, bundler will remember that you excluded the test group in the last installation\. The next time you run \fBbundle install\fR, without any \fB\-\-without option\fR, bundler will recall it\.
236
- .
237
- .P
238
238
  Also, calling \fBBundler\.setup\fR with no parameters, or calling \fBrequire "bundler/setup"\fR will setup all groups except for the ones you excluded via \fB\-\-without\fR (since they are not available)\.
239
239
  .
240
240
  .P
241
- Note that on \fBbundle install\fR, bundler downloads and evaluates all gems, in order to create a single canonical list of all of the required gems and their dependencies\. This means that you cannot list different versions of the same gems in different groups\. For more details, see Understanding Bundler \fIhttp://bundler\.io/rationale\.html\fR\.
241
+ Note that on \fBbundle install\fR, bundler downloads and evaluates all gems, in order to create a single canonical list of all of the required gems and their dependencies\. This means that you cannot list different versions of the same gems in different groups\. For more details, see Understanding Bundler \fIhttps://bundler\.io/rationale\.html\fR\.
242
242
  .
243
243
  .SS "PLATFORMS"
244
244
  If a gem should only be used in a particular platform or set of platforms, you can specify them\. Platforms are essentially identical to groups, except that you do not need to use the \fB\-\-without\fR install\-time flag to exclude groups of gems for other platforms\.
@@ -299,19 +299,19 @@ The full list of platforms and supported versions includes:
299
299
  .
300
300
  .TP
301
301
  \fBruby\fR
302
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
302
+ 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
303
303
  .
304
304
  .TP
305
305
  \fBmri\fR
306
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
306
+ 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
307
307
  .
308
308
  .TP
309
309
  \fBmingw\fR
310
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
310
+ 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
311
311
  .
312
312
  .TP
313
313
  \fBx64_mingw\fR
314
- 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
314
+ 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
315
315
  .
316
316
  .P
317
317
  As with groups, you can specify one or more platforms:
@@ -409,19 +409,16 @@ Git repositories support a number of additional options\.
409
409
  .
410
410
  .TP
411
411
  \fBbranch\fR, \fBtag\fR, and \fBref\fR
412
- You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR
413
- .
414
- .TP
415
- For example:
412
+ You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR\. For example:
416
413
  .
417
414
  .IP
418
- git "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable" do
415
+ gem "rails", :git => "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable"
419
416
  .
420
417
  .IP
421
- git "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0" do
418
+ gem "rails", :git => "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0"
422
419
  .
423
420
  .IP
424
- git "https://github\.com/rails/rails\.git", :ref => "4aded" do
421
+ gem "rails", :git => "https://github\.com/rails/rails\.git", :ref => "4aded"
425
422
  .
426
423
  .TP
427
424
  \fBsubmodules\fR
@@ -509,6 +506,32 @@ gem "rails", :git => "git://github\.com/rails/rails\.git"
509
506
  .P
510
507
  Since the \fBgithub\fR method is a specialization of \fBgit_source\fR, it accepts a \fB:branch\fR named argument\.
511
508
  .
509
+ .P
510
+ You can also directly pass a pull request URL:
511
+ .
512
+ .IP "" 4
513
+ .
514
+ .nf
515
+
516
+ gem "rails", :github => "https://github\.com/rails/rails/pull/43753"
517
+ .
518
+ .fi
519
+ .
520
+ .IP "" 0
521
+ .
522
+ .P
523
+ Which is equivalent to:
524
+ .
525
+ .IP "" 4
526
+ .
527
+ .nf
528
+
529
+ gem "rails", :github => "rails/rails", branch: "refs/pull/43753/head"
530
+ .
531
+ .fi
532
+ .
533
+ .IP "" 0
534
+ .
512
535
  .SS "GIST"
513
536
  If the git repository you want to use is hosted as a Github Gist and is public, you can use the :gist shorthand to specify the gist identifier (without the trailing "\.git")\.
514
537
  .
@@ -120,13 +120,13 @@ Each _gem_ `MAY` have one or more version specifiers.
120
120
  ### REQUIRE AS
121
121
 
122
122
  Each _gem_ `MAY` specify files that should be used when autorequiring via
123
- `Bundler.require`. You may pass an array with multiple files or `true` if file
124
- you want `required` has same name as _gem_ or `false` to
123
+ `Bundler.require`. You may pass an array with multiple files or `true` if the file
124
+ you want `required` has the same name as _gem_ or `false` to
125
125
  prevent any file from being autorequired.
126
126
 
127
127
  gem "redis", :require => ["redis/connection/hiredis", "redis"]
128
128
  gem "webmock", :require => false
129
- gem "debugger", :require => true
129
+ gem "byebug", :require => true
130
130
 
131
131
  The argument defaults to the name of the gem. For example, these are identical:
132
132
 
@@ -159,15 +159,12 @@ The Bundler runtime allows its two main methods, `Bundler.setup` and
159
159
  Bundler.require(:test) # requires the _test_ group
160
160
 
161
161
  The Bundler CLI allows you to specify a list of groups whose gems `bundle install` should
162
- not install with the `--without` option. To specify multiple groups to ignore, specify a
163
- list of groups separated by spaces.
162
+ not install with the `without` configuration.
164
163
 
165
- bundle install --without test
166
- bundle install --without development test
164
+ To specify multiple groups to ignore, specify a list of groups separated by spaces.
167
165
 
168
- After running `bundle install --without test`, bundler will remember that you excluded
169
- the test group in the last installation. The next time you run `bundle install`,
170
- without any `--without option`, bundler will recall it.
166
+ bundle config set --local without test
167
+ bundle config set --local without development test
171
168
 
172
169
  Also, calling `Bundler.setup` with no parameters, or calling `require "bundler/setup"`
173
170
  will setup all groups except for the ones you excluded via `--without` (since they
@@ -176,7 +173,7 @@ are not available).
176
173
  Note that on `bundle install`, bundler downloads and evaluates all gems, in order to
177
174
  create a single canonical list of all of the required gems and their dependencies.
178
175
  This means that you cannot list different versions of the same gems in different
179
- groups. For more details, see [Understanding Bundler](http://bundler.io/rationale.html).
176
+ groups. For more details, see [Understanding Bundler](https://bundler.io/rationale.html).
180
177
 
181
178
  ### PLATFORMS
182
179
 
@@ -216,13 +213,13 @@ used on platforms with Ruby 2.3, use:
216
213
  The full list of platforms and supported versions includes:
217
214
 
218
215
  * `ruby`:
219
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
216
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
220
217
  * `mri`:
221
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
218
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
222
219
  * `mingw`:
223
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
220
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
224
221
  * `x64_mingw`:
225
- 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
222
+ 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
226
223
 
227
224
  As with groups, you can specify one or more platforms:
228
225
 
@@ -310,14 +307,13 @@ Git repositories support a number of additional options.
310
307
 
311
308
  * `branch`, `tag`, and `ref`:
312
309
  You `MUST` only specify at most one of these options. The default
313
- is `:branch => "master"`
314
- * For example:
310
+ is `:branch => "master"`. For example:
315
311
 
316
- git "https://github.com/rails/rails.git", :branch => "5-0-stable" do
312
+ gem "rails", :git => "https://github.com/rails/rails.git", :branch => "5-0-stable"
317
313
 
318
- git "https://github.com/rails/rails.git", :tag => "v5.0.0" do
314
+ gem "rails", :git => "https://github.com/rails/rails.git", :tag => "v5.0.0"
319
315
 
320
- git "https://github.com/rails/rails.git", :ref => "4aded" do
316
+ gem "rails", :git => "https://github.com/rails/rails.git", :ref => "4aded"
321
317
 
322
318
  * `submodules`:
323
319
  For reference, a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
@@ -376,6 +372,14 @@ Are both equivalent to
376
372
 
377
373
  Since the `github` method is a specialization of `git_source`, it accepts a `:branch` named argument.
378
374
 
375
+ You can also directly pass a pull request URL:
376
+
377
+ gem "rails", :github => "https://github.com/rails/rails/pull/43753"
378
+
379
+ Which is equivalent to:
380
+
381
+ gem "rails", :github => "rails/rails", branch: "refs/pull/43753/head"
382
+
379
383
  ### GIST
380
384
 
381
385
  If the git repository you want to use is hosted as a Github Gist and is public, you can use
@@ -2,6 +2,7 @@ Gemfile(5) gemfile.5
2
2
  bundle(1) bundle.1
3
3
  bundle-add(1) bundle-add.1
4
4
  bundle-binstubs(1) bundle-binstubs.1
5
+ bundle-cache(1) bundle-cache.1
5
6
  bundle-check(1) bundle-check.1
6
7
  bundle-clean(1) bundle-clean.1
7
8
  bundle-config(1) bundle-config.1
@@ -16,7 +17,6 @@ bundle-list(1) bundle-list.1
16
17
  bundle-lock(1) bundle-lock.1
17
18
  bundle-open(1) bundle-open.1
18
19
  bundle-outdated(1) bundle-outdated.1
19
- bundle-package(1) bundle-package.1
20
20
  bundle-platform(1) bundle-platform.1
21
21
  bundle-pristine(1) bundle-pristine.1
22
22
  bundle-remove(1) bundle-remove.1
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_helpers"
3
+ require_relative "gem_helpers"
4
4
 
5
5
  module Bundler
6
6
  module MatchPlatform
@@ -43,11 +43,11 @@ module Bundler
43
43
  config.update_mirror(mirror)
44
44
  end
45
45
 
46
- private
46
+ private
47
47
 
48
48
  def fetch_valid_mirror_for(uri)
49
49
  downcased = uri.to_s.downcase
50
- mirror = @mirrors[downcased] || @mirrors[URI(downcased).host] || Mirror.new(uri)
50
+ mirror = @mirrors[downcased] || @mirrors[Bundler::URI(downcased).host] || Mirror.new(uri)
51
51
  mirror.validate!(@prober)
52
52
  mirror = Mirror.new(uri) unless mirror.valid?
53
53
  mirror
@@ -74,7 +74,7 @@ module Bundler
74
74
  @uri = if uri.nil?
75
75
  nil
76
76
  else
77
- URI(uri.to_s)
77
+ Bundler::URI(uri.to_s)
78
78
  end
79
79
  @valid = nil
80
80
  end
@@ -126,7 +126,7 @@ module Bundler
126
126
  if uri == "all"
127
127
  @all = true
128
128
  else
129
- @uri = URI(uri).absolute? ? Settings.normalize_uri(uri) : uri
129
+ @uri = Bundler::URI(uri).absolute? ? Settings.normalize_uri(uri) : uri
130
130
  end
131
131
  @value = value
132
132
  end
@@ -158,7 +158,7 @@ module Bundler
158
158
  end
159
159
  end
160
160
 
161
- private
161
+ private
162
162
 
163
163
  def wait_for_writtable_socket(socket, address, timeout)
164
164
  if IO.select(nil, [socket], nil, timeout)
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "uri"
4
-
5
3
  module Bundler
6
4
  module Plugin
7
5
  class API
@@ -37,7 +35,7 @@ module Bundler
37
35
  #
38
36
  # @!attribute [rw] dependency_names
39
37
  # @return [Array<String>] Names of dependencies that the source should
40
- # try to resolve. It is not necessary to use this list intenally. This
38
+ # try to resolve. It is not necessary to use this list internally. This
41
39
  # is present to be compatible with `Definition` and is used by
42
40
  # rubygems source.
43
41
  module Source
@@ -108,7 +106,7 @@ module Bundler
108
106
  def install_path
109
107
  @install_path ||=
110
108
  begin
111
- base_name = File.basename(URI.parse(uri).normalize.path)
109
+ base_name = File.basename(Bundler::URI.parse(uri).normalize.path)
112
110
 
113
111
  gem_install_dir.join("#{base_name}-#{uri_hash[0..11]}")
114
112
  end
@@ -142,6 +140,13 @@ module Bundler
142
140
  end
143
141
  end
144
142
 
143
+ # Set internal representation to fetch the gems/specs locally.
144
+ #
145
+ # When this is called, the source should try to fetch the specs and
146
+ # install from the local system.
147
+ def local!
148
+ end
149
+
145
150
  # Set internal representation to fetch the gems/specs from remote.
146
151
  #
147
152
  # When this is called, the source should try to fetch the specs and
@@ -170,7 +175,7 @@ module Bundler
170
175
  #
171
176
  # This is used by `app_cache_path`
172
177
  def app_cache_dirname
173
- base_name = File.basename(URI.parse(uri).normalize.path)
178
+ base_name = File.basename(Bundler::URI.parse(uri).normalize.path)
174
179
  "#{base_name}-#{uri_hash}"
175
180
  end
176
181
 
@@ -196,7 +201,7 @@ module Bundler
196
201
  # This shall check if two source object represent the same source.
197
202
  #
198
203
  # The comparison shall take place only on the attribute that can be
199
- # inferred from the options passed from Gemfile and not on attibutes
204
+ # inferred from the options passed from Gemfile and not on attributes
200
205
  # that are used to pin down the gem to specific version (e.g. Git
201
206
  # sources should compare on branch and tag but not on commit hash)
202
207
  #
@@ -239,6 +244,20 @@ module Bundler
239
244
  specs.unmet_dependency_names
240
245
  end
241
246
 
247
+ # Used by definition.
248
+ #
249
+ # Note: Do not override if you don't know what you are doing.
250
+ def spec_names
251
+ specs.spec_names
252
+ end
253
+
254
+ # Used by definition.
255
+ #
256
+ # Note: Do not override if you don't know what you are doing.
257
+ def add_dependency_names(names)
258
+ @dependencies |= Array(names)
259
+ end
260
+
242
261
  # Note: Do not override if you don't know what you are doing.
243
262
  def can_lock?(spec)
244
263
  spec.source == self
@@ -262,8 +281,9 @@ module Bundler
262
281
  end
263
282
 
264
283
  def to_s
265
- "plugin source for #{options[:type]} with uri #{uri}"
284
+ "plugin source for #{@type} with uri #{@uri}"
266
285
  end
286
+ alias_method :identifier, :to_s
267
287
 
268
288
  # Note: Do not override if you don't know what you are doing.
269
289
  def include?(other)
@@ -23,7 +23,7 @@ module Bundler
23
23
  # and hooks).
24
24
  module Plugin
25
25
  class API
26
- autoload :Source, "bundler/plugin/api/source"
26
+ autoload :Source, File.expand_path("api/source", __dir__)
27
27
 
28
28
  # The plugins should declare that they handle a command through this helper.
29
29
  #
@@ -10,7 +10,7 @@ module Bundler
10
10
  # So that we don't have to override all there methods to dummy ones
11
11
  # explicitly.
12
12
  # They will be handled by method_missing
13
- [:gemspec, :gem, :path, :install_if, :platforms, :env].each {|m| undef_method m }
13
+ [:gemspec, :gem, :install_if, :platforms, :env].each {|m| undef_method m }
14
14
 
15
15
  # This lists the plugins that was added automatically and not specified by
16
16
  # the user.
@@ -58,7 +58,10 @@ module Bundler
58
58
  raise SourceConflict.new(name, common) unless common.empty?
59
59
  sources.each {|k| @sources[k] = name }
60
60
 
61
- hooks.each {|e| (@hooks[e] ||= []) << name }
61
+ hooks.each do |event|
62
+ event_hooks = (@hooks[event] ||= []) << name
63
+ event_hooks.uniq!
64
+ end
62
65
 
63
66
  @plugin_paths[name] = path
64
67
  @load_paths[name] = load_paths
@@ -68,6 +71,18 @@ module Bundler
68
71
  raise
69
72
  end
70
73
 
74
+ def unregister_plugin(name)
75
+ @commands.delete_if {|_, v| v == name }
76
+ @sources.delete_if {|_, v| v == name }
77
+ @hooks.each do |hook, names|
78
+ names.delete(name)
79
+ @hooks.delete(hook) if names.empty?
80
+ end
81
+ @plugin_paths.delete(name)
82
+ @load_paths.delete(name)
83
+ save_index
84
+ end
85
+
71
86
  # Path of default index file
72
87
  def index_file
73
88
  Plugin.root.join("index")
@@ -100,6 +115,14 @@ module Bundler
100
115
  @plugin_paths[name]
101
116
  end
102
117
 
118
+ def installed_plugins
119
+ @plugin_paths.keys
120
+ end
121
+
122
+ def plugin_commands(plugin)
123
+ @commands.find_all {|_, n| n == plugin }.map(&:first)
124
+ end
125
+
103
126
  def source?(source)
104
127
  @sources.key? source
105
128
  end
@@ -113,7 +136,7 @@ module Bundler
113
136
  @hooks[event] || []
114
137
  end
115
138
 
116
- private
139
+ private
117
140
 
118
141
  # Reads the index file from the directory and initializes the instance
119
142
  # variables.
@@ -128,7 +151,7 @@ module Bundler
128
151
 
129
152
  data = index_f.read
130
153
 
131
- require "bundler/yaml_serializer"
154
+ require_relative "../yaml_serializer"
132
155
  index = YAMLSerializer.load(data)
133
156
 
134
157
  @commands.merge!(index["commands"])
@@ -151,7 +174,7 @@ module Bundler
151
174
  "sources" => @sources,
152
175
  }
153
176
 
154
- require "bundler/yaml_serializer"
177
+ require_relative "../yaml_serializer"
155
178
  SharedHelpers.filesystem_access(index_file) do |index_f|
156
179
  FileUtils.mkdir_p(index_f.dirname)
157
180
  File.open(index_f, "w") {|f| f.puts YAMLSerializer.dump(index) }