bundler 1.15.2 → 2.4.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (424) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +2861 -1117
  3. data/LICENSE.md +18 -19
  4. data/README.md +22 -17
  5. data/bundler.gemspec +23 -27
  6. data/exe/bundle +27 -12
  7. data/exe/bundler +1 -1
  8. data/lib/bundler/.document +1 -0
  9. data/lib/bundler/build_metadata.rb +45 -0
  10. data/lib/bundler/capistrano.rb +7 -2
  11. data/lib/bundler/cli/add.rb +33 -12
  12. data/lib/bundler/cli/binstubs.rb +25 -9
  13. data/lib/bundler/cli/cache.rb +25 -17
  14. data/lib/bundler/cli/check.rb +8 -8
  15. data/lib/bundler/cli/clean.rb +6 -7
  16. data/lib/bundler/cli/common.rb +52 -15
  17. data/lib/bundler/cli/config.rb +171 -86
  18. data/lib/bundler/cli/console.rb +5 -4
  19. data/lib/bundler/cli/doctor.rb +72 -8
  20. data/lib/bundler/cli/exec.rb +13 -29
  21. data/lib/bundler/cli/fund.rb +36 -0
  22. data/lib/bundler/cli/gem.rb +266 -48
  23. data/lib/bundler/cli/info.rb +52 -9
  24. data/lib/bundler/cli/init.rb +22 -6
  25. data/lib/bundler/cli/inject.rb +2 -1
  26. data/lib/bundler/cli/install.rb +74 -99
  27. data/lib/bundler/cli/issue.rb +9 -8
  28. data/lib/bundler/cli/list.rb +66 -0
  29. data/lib/bundler/cli/lock.rb +11 -5
  30. data/lib/bundler/cli/open.rb +14 -9
  31. data/lib/bundler/cli/outdated.rb +165 -123
  32. data/lib/bundler/cli/platform.rb +3 -2
  33. data/lib/bundler/cli/plugin.rb +20 -2
  34. data/lib/bundler/cli/pristine.rb +25 -6
  35. data/lib/bundler/cli/remove.rb +17 -0
  36. data/lib/bundler/cli/show.rb +3 -4
  37. data/lib/bundler/cli/update.rb +71 -12
  38. data/lib/bundler/cli/viz.rb +2 -1
  39. data/lib/bundler/cli.rb +394 -152
  40. data/lib/bundler/compact_index_client/cache.rb +8 -26
  41. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  42. data/lib/bundler/compact_index_client/updater.rb +62 -51
  43. data/lib/bundler/compact_index_client.rb +29 -18
  44. data/lib/bundler/constants.rb +2 -1
  45. data/lib/bundler/current_ruby.rb +36 -13
  46. data/lib/bundler/definition.rb +417 -434
  47. data/lib/bundler/dependency.rb +34 -76
  48. data/lib/bundler/deployment.rb +2 -2
  49. data/lib/bundler/deprecate.rb +15 -3
  50. data/lib/bundler/digest.rb +71 -0
  51. data/lib/bundler/dsl.rb +135 -116
  52. data/lib/bundler/endpoint_specification.rb +26 -15
  53. data/lib/bundler/env.rb +95 -39
  54. data/lib/bundler/environment_preserver.rb +56 -8
  55. data/lib/bundler/errors.rb +32 -14
  56. data/lib/bundler/feature_flag.rb +29 -7
  57. data/lib/bundler/fetcher/base.rb +8 -9
  58. data/lib/bundler/fetcher/compact_index.rb +47 -49
  59. data/lib/bundler/fetcher/dependency.rb +5 -8
  60. data/lib/bundler/fetcher/downloader.rb +26 -17
  61. data/lib/bundler/fetcher/index.rb +5 -30
  62. data/lib/bundler/fetcher.rb +51 -46
  63. data/lib/bundler/force_platform.rb +18 -0
  64. data/lib/bundler/friendly_errors.rb +53 -53
  65. data/lib/bundler/gem_helper.rb +95 -50
  66. data/lib/bundler/gem_helpers.rb +45 -28
  67. data/lib/bundler/gem_tasks.rb +2 -1
  68. data/lib/bundler/gem_version_promoter.rb +60 -90
  69. data/lib/bundler/graph.rb +6 -5
  70. data/lib/bundler/index.rb +23 -61
  71. data/lib/bundler/injector.rb +228 -32
  72. data/lib/bundler/inline.rb +29 -32
  73. data/lib/bundler/installer/gem_installer.rb +24 -16
  74. data/lib/bundler/installer/parallel_installer.rb +94 -71
  75. data/lib/bundler/installer/standalone.rb +63 -12
  76. data/lib/bundler/installer.rb +128 -94
  77. data/lib/bundler/lazy_specification.rb +89 -52
  78. data/lib/bundler/lockfile_generator.rb +95 -0
  79. data/lib/bundler/lockfile_parser.rb +40 -66
  80. data/lib/bundler/man/bundle-add.1 +82 -0
  81. data/lib/bundler/man/bundle-add.1.ronn +58 -0
  82. data/lib/bundler/man/bundle-binstubs.1 +42 -0
  83. data/lib/bundler/man/bundle-binstubs.1.ronn +41 -0
  84. data/lib/bundler/man/bundle-cache.1 +61 -0
  85. data/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +26 -14
  86. data/{man → lib/bundler/man}/bundle-check.1 +4 -4
  87. data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +3 -3
  88. data/{man → lib/bundler/man}/bundle-clean.1 +2 -2
  89. data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +1 -1
  90. data/{man → lib/bundler/man}/bundle-config.1 +175 -57
  91. data/lib/bundler/man/bundle-config.1.ronn +408 -0
  92. data/lib/bundler/man/bundle-console.1 +53 -0
  93. data/lib/bundler/man/bundle-console.1.ronn +44 -0
  94. data/lib/bundler/man/bundle-doctor.1 +44 -0
  95. data/lib/bundler/man/bundle-doctor.1.ronn +33 -0
  96. data/{man → lib/bundler/man}/bundle-exec.1 +11 -8
  97. data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +16 -9
  98. data/lib/bundler/man/bundle-gem.1 +105 -0
  99. data/lib/bundler/man/bundle-gem.1.ronn +117 -0
  100. data/lib/bundler/man/bundle-help.1 +13 -0
  101. data/lib/bundler/man/bundle-help.1.ronn +12 -0
  102. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  103. data/lib/bundler/man/bundle-init.1 +29 -0
  104. data/lib/bundler/man/bundle-init.1.ronn +31 -0
  105. data/{man → lib/bundler/man}/bundle-inject.1 +7 -4
  106. data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +5 -3
  107. data/{man → lib/bundler/man}/bundle-install.1 +63 -55
  108. data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +81 -68
  109. data/lib/bundler/man/bundle-list.1 +50 -0
  110. data/lib/bundler/man/bundle-list.1.ronn +33 -0
  111. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  112. data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +1 -1
  113. data/{man → lib/bundler/man}/bundle-open.1 +22 -2
  114. data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +9 -1
  115. data/{man → lib/bundler/man}/bundle-outdated.1 +8 -11
  116. data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +7 -12
  117. data/{man → lib/bundler/man}/bundle-platform.1 +16 -6
  118. data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
  119. data/lib/bundler/man/bundle-plugin.1 +81 -0
  120. data/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  121. data/lib/bundler/man/bundle-pristine.1 +34 -0
  122. data/lib/bundler/man/bundle-pristine.1.ronn +34 -0
  123. data/lib/bundler/man/bundle-remove.1 +31 -0
  124. data/lib/bundler/man/bundle-remove.1.ronn +23 -0
  125. data/{man → lib/bundler/man}/bundle-show.1 +3 -3
  126. data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +3 -2
  127. data/{man → lib/bundler/man}/bundle-update.1 +17 -13
  128. data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +27 -22
  129. data/lib/bundler/man/bundle-version.1 +35 -0
  130. data/lib/bundler/man/bundle-version.1.ronn +24 -0
  131. data/{man → lib/bundler/man}/bundle-viz.1 +10 -7
  132. data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +8 -6
  133. data/{man → lib/bundler/man}/bundle.1 +44 -31
  134. data/lib/bundler/man/bundle.1.ronn +116 -0
  135. data/{man → lib/bundler/man}/gemfile.5 +153 -83
  136. data/{man → lib/bundler/man}/gemfile.5.ronn +156 -93
  137. data/lib/bundler/man/index.txt +29 -0
  138. data/lib/bundler/match_metadata.rb +13 -0
  139. data/lib/bundler/match_platform.rb +2 -2
  140. data/lib/bundler/match_remote_metadata.rb +29 -0
  141. data/lib/bundler/mirror.rb +16 -15
  142. data/lib/bundler/plugin/api/source.rb +35 -14
  143. data/lib/bundler/plugin/api.rb +1 -1
  144. data/lib/bundler/plugin/dsl.rb +1 -1
  145. data/lib/bundler/plugin/events.rb +61 -0
  146. data/lib/bundler/plugin/index.rb +38 -10
  147. data/lib/bundler/plugin/installer/git.rb +0 -4
  148. data/lib/bundler/plugin/installer/rubygems.rb +1 -9
  149. data/lib/bundler/plugin/installer.rb +35 -18
  150. data/lib/bundler/plugin/source_list.rb +11 -8
  151. data/lib/bundler/plugin.rb +115 -47
  152. data/lib/bundler/process_lock.rb +24 -0
  153. data/lib/bundler/remote_specification.rb +12 -8
  154. data/lib/bundler/resolver/base.rb +107 -0
  155. data/lib/bundler/resolver/candidate.rb +94 -0
  156. data/lib/bundler/resolver/incompatibility.rb +15 -0
  157. data/lib/bundler/resolver/package.rb +72 -0
  158. data/lib/bundler/resolver/root.rb +25 -0
  159. data/lib/bundler/resolver/spec_group.rb +82 -0
  160. data/lib/bundler/resolver.rb +327 -324
  161. data/lib/bundler/retry.rb +5 -4
  162. data/lib/bundler/ruby_dsl.rb +2 -1
  163. data/lib/bundler/ruby_version.rb +11 -38
  164. data/lib/bundler/rubygems_ext.rb +236 -90
  165. data/lib/bundler/rubygems_gem_installer.rb +104 -8
  166. data/lib/bundler/rubygems_integration.rb +204 -501
  167. data/lib/bundler/runtime.rb +35 -48
  168. data/lib/bundler/self_manager.rb +168 -0
  169. data/lib/bundler/settings/validator.rb +102 -0
  170. data/lib/bundler/settings.rb +309 -142
  171. data/lib/bundler/setup.rb +15 -12
  172. data/lib/bundler/shared_helpers.rb +147 -83
  173. data/lib/bundler/similarity_detector.rb +4 -3
  174. data/lib/bundler/source/gemspec.rb +1 -0
  175. data/lib/bundler/source/git/git_proxy.rb +281 -125
  176. data/lib/bundler/source/git.rb +102 -73
  177. data/lib/bundler/source/metadata.rb +62 -0
  178. data/lib/bundler/source/path/installer.rb +13 -32
  179. data/lib/bundler/source/path.rb +36 -25
  180. data/lib/bundler/source/rubygems/remote.rb +9 -4
  181. data/lib/bundler/source/rubygems.rb +273 -226
  182. data/lib/bundler/source/rubygems_aggregate.rb +68 -0
  183. data/lib/bundler/source.rb +65 -9
  184. data/lib/bundler/source_list.rb +138 -33
  185. data/lib/bundler/source_map.rb +71 -0
  186. data/lib/bundler/spec_set.rb +101 -72
  187. data/lib/bundler/stub_specification.rb +45 -36
  188. data/lib/bundler/templates/.document +1 -0
  189. data/lib/bundler/templates/Executable +13 -3
  190. data/lib/bundler/templates/Executable.bundler +109 -0
  191. data/lib/bundler/templates/Executable.standalone +4 -4
  192. data/lib/bundler/templates/Gemfile +1 -2
  193. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  194. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  195. data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  196. data/lib/bundler/templates/newgem/Gemfile.tt +22 -2
  197. data/lib/bundler/templates/newgem/README.md.tt +14 -16
  198. data/lib/bundler/templates/newgem/Rakefile.tt +43 -5
  199. data/lib/bundler/templates/newgem/bin/console.tt +1 -4
  200. data/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  201. data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  202. data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  203. data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  204. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  205. data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  206. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  207. data/lib/bundler/templates/newgem/gitignore.tt +3 -1
  208. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  209. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  210. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +5 -2
  211. data/lib/bundler/templates/newgem/newgem.gemspec.tt +39 -35
  212. data/lib/bundler/templates/newgem/rspec.tt +1 -0
  213. data/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  214. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  215. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -1
  216. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  217. data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  218. data/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  219. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
  220. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  221. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  222. data/lib/bundler/ui/rg_proxy.rb +2 -1
  223. data/lib/bundler/ui/shell.rb +49 -17
  224. data/lib/bundler/ui/silent.rb +22 -5
  225. data/lib/bundler/ui.rb +4 -3
  226. data/lib/bundler/uri_credentials_filter.rb +11 -4
  227. data/lib/bundler/uri_normalizer.rb +23 -0
  228. data/lib/bundler/vendor/.document +1 -0
  229. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  230. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  231. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  232. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  233. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +128 -0
  234. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  235. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +2706 -0
  236. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  237. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
  238. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
  239. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  240. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +302 -462
  241. data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  242. data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  243. data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  244. data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  245. data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  246. data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  247. data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  248. data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  249. data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  250. data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  251. data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  252. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  253. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  254. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  255. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
  256. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  257. data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  258. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  259. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
  260. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +4 -2
  261. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
  262. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +9 -1
  263. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +64 -16
  264. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +27 -11
  265. data/lib/bundler/vendor/thor/lib/thor/actions.rb +38 -16
  266. data/lib/bundler/vendor/thor/lib/thor/base.rb +84 -41
  267. data/lib/bundler/vendor/thor/lib/thor/command.rb +30 -21
  268. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +18 -0
  269. data/lib/bundler/vendor/thor/lib/thor/error.rb +83 -0
  270. data/lib/bundler/vendor/thor/lib/thor/group.rb +4 -4
  271. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
  272. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  273. data/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
  274. data/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
  275. data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  276. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
  277. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +22 -9
  278. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +45 -10
  279. data/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
  280. data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
  281. data/lib/bundler/vendor/thor/lib/thor/runner.rb +17 -14
  282. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +97 -21
  283. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
  284. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
  285. data/lib/bundler/vendor/thor/lib/thor/shell.rb +5 -5
  286. data/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
  287. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  288. data/lib/bundler/vendor/thor/lib/thor.rb +39 -15
  289. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  290. data/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
  291. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  292. data/lib/bundler/vendor/uri/lib/uri/common.rb +729 -0
  293. data/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
  294. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  295. data/lib/bundler/vendor/uri/lib/uri/generic.rb +1587 -0
  296. data/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
  297. data/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  298. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  299. data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  300. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  301. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  302. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +119 -0
  303. data/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  304. data/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  305. data/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  306. data/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  307. data/lib/bundler/vendored_fileutils.rb +4 -0
  308. data/lib/bundler/vendored_persistent.rb +6 -8
  309. data/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +2 -1
  310. data/lib/bundler/vendored_thor.rb +3 -2
  311. data/lib/bundler/vendored_tsort.rb +4 -0
  312. data/lib/bundler/vendored_uri.rb +4 -0
  313. data/lib/bundler/version.rb +8 -19
  314. data/lib/bundler/vlad.rb +6 -1
  315. data/lib/bundler/worker.rb +26 -14
  316. data/lib/bundler/yaml_serializer.rb +6 -7
  317. data/lib/bundler.rb +336 -199
  318. metadata +174 -236
  319. data/.codeclimate.yml +0 -25
  320. data/.gitignore +0 -18
  321. data/.rspec +0 -3
  322. data/.rubocop.yml +0 -131
  323. data/.rubocop_todo.yml +0 -418
  324. data/.travis.yml +0 -122
  325. data/CODE_OF_CONDUCT.md +0 -42
  326. data/CONTRIBUTING.md +0 -17
  327. data/Rakefile +0 -338
  328. data/bin/rake +0 -19
  329. data/bin/rspec +0 -15
  330. data/bin/rubocop +0 -17
  331. data/bin/with_rubygems +0 -39
  332. data/doc/README.md +0 -30
  333. data/doc/TROUBLESHOOTING.md +0 -64
  334. data/doc/contributing/BUG_TRIAGE.md +0 -36
  335. data/doc/contributing/COMMUNITY.md +0 -13
  336. data/doc/contributing/GETTING_HELP.md +0 -11
  337. data/doc/contributing/HOW_YOU_CAN_HELP.md +0 -27
  338. data/doc/contributing/ISSUES.md +0 -51
  339. data/doc/contributing/README.md +0 -38
  340. data/doc/development/NEW_FEATURES.md +0 -10
  341. data/doc/development/PULL_REQUESTS.md +0 -40
  342. data/doc/development/README.md +0 -19
  343. data/doc/development/RELEASING.md +0 -9
  344. data/doc/development/SETUP.md +0 -27
  345. data/doc/documentation/README.md +0 -29
  346. data/doc/documentation/VISION.md +0 -26
  347. data/doc/documentation/WRITING.md +0 -54
  348. data/exe/bundle_ruby +0 -59
  349. data/lib/bundler/cli/package.rb +0 -46
  350. data/lib/bundler/dep_proxy.rb +0 -46
  351. data/lib/bundler/gem_remote_fetcher.rb +0 -42
  352. data/lib/bundler/gemdeps.rb +0 -28
  353. data/lib/bundler/psyched_yaml.rb +0 -27
  354. data/lib/bundler/ssl_certs/certificate_manager.rb +0 -65
  355. data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
  356. data/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  357. data/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  358. data/lib/bundler/templates/newgem/.travis.yml.tt +0 -5
  359. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -3
  360. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
  361. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -50
  362. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -80
  363. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -35
  364. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -65
  365. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -61
  366. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -62
  367. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -60
  368. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -125
  369. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -45
  370. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -35
  371. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -125
  372. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -222
  373. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -75
  374. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -5
  375. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -100
  376. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -65
  377. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -494
  378. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -45
  379. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -54
  380. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -10
  381. data/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
  382. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
  383. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
  384. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
  385. data/lib/bundler/version_ranges.rb +0 -75
  386. data/man/bundle-add.1 +0 -43
  387. data/man/bundle-add.1.txt +0 -40
  388. data/man/bundle-add.ronn +0 -29
  389. data/man/bundle-binstubs.1 +0 -30
  390. data/man/bundle-binstubs.1.txt +0 -33
  391. data/man/bundle-binstubs.ronn +0 -29
  392. data/man/bundle-check.1.txt +0 -32
  393. data/man/bundle-clean.1.txt +0 -26
  394. data/man/bundle-config.1.txt +0 -418
  395. data/man/bundle-config.ronn +0 -318
  396. data/man/bundle-exec.1.txt +0 -171
  397. data/man/bundle-gem.1 +0 -80
  398. data/man/bundle-gem.1.txt +0 -90
  399. data/man/bundle-gem.ronn +0 -77
  400. data/man/bundle-info.1.txt +0 -21
  401. data/man/bundle-init.1 +0 -20
  402. data/man/bundle-init.1.txt +0 -24
  403. data/man/bundle-init.ronn +0 -18
  404. data/man/bundle-inject.1.txt +0 -32
  405. data/man/bundle-install.1.txt +0 -385
  406. data/man/bundle-lock.1.txt +0 -93
  407. data/man/bundle-open.1.txt +0 -29
  408. data/man/bundle-outdated.1.txt +0 -127
  409. data/man/bundle-package.1 +0 -52
  410. data/man/bundle-package.1.txt +0 -74
  411. data/man/bundle-platform.1.txt +0 -57
  412. data/man/bundle-pristine.1 +0 -16
  413. data/man/bundle-pristine.1.txt +0 -21
  414. data/man/bundle-pristine.ronn +0 -13
  415. data/man/bundle-show.1.txt +0 -25
  416. data/man/bundle-update.1.txt +0 -388
  417. data/man/bundle-viz.1.txt +0 -37
  418. data/man/bundle.1.txt +0 -110
  419. data/man/bundle.ronn +0 -105
  420. data/man/gemfile.5.txt +0 -600
  421. data/man/index.txt +0 -15
  422. data/task/release.rake +0 -116
  423. /data/lib/bundler/{ssl_certs → man}/.document +0 -0
  424. /data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
data/man/bundle-gem.ronn DELETED
@@ -1,77 +0,0 @@
1
- bundle-gem(1) -- Generate a project skeleton for creating a rubygem
2
- ====================================================================
3
-
4
- ## SYNOPSIS
5
-
6
- `bundle gem` <GEM_NAME> [OPTIONS]
7
-
8
- ## DESCRIPTION
9
-
10
- Generates a directory named `GEM_NAME` with a `Rakefile`, `GEM_NAME.gemspec`,
11
- and other supporting files and directories that can be used to develop a
12
- rubygem with that name.
13
-
14
- Run `rake -T` in the resulting project for a list of Rake tasks that can be used
15
- to test and publish the gem to rubygems.org.
16
-
17
- The generated project skeleton can be customized with OPTIONS, as explained
18
- below. Note that these options can also be specified via Bundler's global
19
- configuration file using the following names:
20
-
21
- * `gem.coc`
22
- * `gem.mit`
23
- * `gem.test`
24
-
25
- ## OPTIONS
26
-
27
- * `--exe` or `-b` or `--bin`:
28
- Specify that Bundler should create a binary executable (as `exe/GEM_NAME`)
29
- in the generated rubygem project. This binary will also be added to the
30
- `GEM_NAME.gemspec` manifest. This behavior is disabled by default.
31
-
32
- * `--no-exe`:
33
- Do not create a binary (overrides `--exe` specified in the global config).
34
-
35
- * `--coc`:
36
- Add a `CODE_OF_CONDUCT.md` file to the root of the generated project. If
37
- this option is unspecified, an interactive prompt will be displayed and the
38
- answer will be saved in Bundler's global config for future `bundle gem` use.
39
-
40
- * `--no-coc`:
41
- Do not create a `CODE_OF_CONDUCT.md` (overrides `--coc` specified in the
42
- global config).
43
-
44
- * `--ext`:
45
- Add boilerplate for C extension code to the generated project. This behavior
46
- is disabled by default.
47
-
48
- * `--no-ext`:
49
- Do not add C extension code (overrides `--ext` specified in the global
50
- config).
51
-
52
- * `--mit`:
53
- Add an MIT license to a `LICENSE.txt` file in the root of the generated
54
- project. Your name from the global git config is used for the copyright
55
- statement. If this option is unspecified, an interactive prompt will be
56
- displayed and the answer will be saved in Bundler's global config for future
57
- `bundle gem` use.
58
-
59
- * `--no-mit`:
60
- Do not create a `LICENSE.txt` (overrides `--mit` specified in the global
61
- config).
62
-
63
- * `-t`, `--test=minitest`, `--test=rspec`:
64
- Specify the test framework that Bundler should use when generating the
65
- project. Acceptable values are `minitest` and `rspec`. The `GEM_NAME.gemspec`
66
- will be configured and a skeleton test/spec directory will be created based
67
- on this option. If this option is unspecified, an interactive prompt will be
68
- displayed and the answer will be saved in Bundler's global config for future
69
- `bundle gem` use.
70
-
71
- * `-e`, `--edit[=EDITOR]`:
72
- Open the resulting GEM_NAME.gemspec in EDITOR, or the default editor if not
73
- specified. The default is `$BUNDLER_EDITOR`, `$VISUAL`, or `$EDITOR`.
74
-
75
- ## SEE ALSO
76
-
77
- * bundle-config(1)
@@ -1,21 +0,0 @@
1
- BUNDLE-INFO(1) BUNDLE-INFO(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-info 22m- Show information for the given gem in your bundle
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle info 22m[GEM] [--path]
10
-
11
- 1mDESCRIPTION0m
12
- Print the basic information about the provided GEM such as homepage,
13
- version, path and summary.
14
-
15
- 1mOPTIONS0m
16
- 1m--path 22mPrint the path of the given gem
17
-
18
-
19
-
20
-
21
- June 2017 BUNDLE-INFO(1)
data/man/bundle-init.1 DELETED
@@ -1,20 +0,0 @@
1
- .\" generated with Ronn/v0.7.3
2
- .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
- .
4
- .TH "BUNDLE\-INIT" "1" "June 2017" "" ""
5
- .
6
- .SH "NAME"
7
- \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
8
- .
9
- .SH "SYNOPSIS"
10
- \fBbundle init\fR [\-\-gemspec=FILE]
11
- .
12
- .SH "DESCRIPTION"
13
- Init generates a default \fBGemfile(5)\fR in the current working directory\. When adding a \fBGemfile(5)\fR to a gem with a gemspec, the \fB\-\-gemspec\fR option will automatically add each dependency listed in the gemspec file to the newly created \fBGemfile(5)\fR\.
14
- .
15
- .SH "OPTIONS"
16
- .
17
- .TP
18
- \fB\-\-gemspec\fR
19
- Use the specified \.gemspec to create the \fBGemfile(5)\fR
20
-
@@ -1,24 +0,0 @@
1
- BUNDLE-INIT(1) BUNDLE-INIT(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-init 22m- Generates a Gemfile into the current working directory
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle init 22m[--gemspec=FILE]
10
-
11
- 1mDESCRIPTION0m
12
- Init generates a default 1mGemfile(5) 22min the current working directory.
13
- When adding a 1mGemfile(5) 22mto a gem with a gemspec, the 1m--gemspec 22moption
14
- will automatically add each dependency listed in the gemspec file to
15
- the newly created 1mGemfile(5)22m.
16
-
17
- 1mOPTIONS0m
18
- 1m--gemspec0m
19
- Use the specified .gemspec to create the 1mGemfile(5)0m
20
-
21
-
22
-
23
-
24
- June 2017 BUNDLE-INIT(1)
data/man/bundle-init.ronn DELETED
@@ -1,18 +0,0 @@
1
- bundle-init(1) -- Generates a Gemfile into the current working directory
2
- ========================================================================
3
-
4
- ## SYNOPSIS
5
-
6
- `bundle init` [--gemspec=FILE]
7
-
8
- ## DESCRIPTION
9
-
10
- Init generates a default `Gemfile(5)` in the current working directory. When
11
- adding a `Gemfile(5)` to a gem with a gemspec, the `--gemspec` option will
12
- automatically add each dependency listed in the gemspec file to the newly
13
- created `Gemfile(5)`.
14
-
15
- ## OPTIONS
16
-
17
- * `--gemspec`:
18
- Use the specified .gemspec to create the `Gemfile(5)`
@@ -1,32 +0,0 @@
1
- BUNDLE-INJECT(1) BUNDLE-INJECT(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-inject 22m- Add named gem(s) with version requirements to Gemfile
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle inject 22m[GEM] [VERSION]
10
-
11
- 1mDESCRIPTION0m
12
- Adds the named gem(s) with their version requirements to the resolved
13
- 1mGemfile(5)22m.
14
-
15
- This command will add the gem to both your 1mGemfile(5) 22mand Gemfile.lock
16
- if it isn't listed yet.
17
-
18
- Example:
19
-
20
-
21
-
22
- bundle install
23
- bundle inject 'rack' '> 0'
24
-
25
-
26
-
27
- This will inject the 'rack' gem with a version greater than 0 in your
28
- 1mGemfile(5) 22mand Gemfile.lock
29
-
30
-
31
-
32
- June 2017 BUNDLE-INJECT(1)
@@ -1,385 +0,0 @@
1
- BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-install 22m- Install the dependencies specified in your Gemfile
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle install 22m[--binstubs[=DIRECTORY]] [--clean] [--full-index]
10
- [--gemfile=GEMFILE] [--jobs=NUMBER] [--local] [--deployment] [--force]
11
- [--frozen] [--no-cache] [--no-prune] [--path PATH] [--system] [--quiet]
12
- [--retry=NUMBER] [--shebang] [--standalone[=GROUP[ GROUP...]]]
13
- [--trust-policy=POLICY] [--without=GROUP[ GROUP...]] [--with=GROUP[
14
- GROUP...]]
15
-
16
- 1mDESCRIPTION0m
17
- Install the gems specified in your Gemfile(5). If this is the first
18
- time you run bundle install (and a 1mGemfile.lock 22mdoes not exist),
19
- Bundler will fetch all remote sources, resolve dependencies and install
20
- all needed gems.
21
-
22
- If a 1mGemfile.lock 22mdoes exist, and you have not updated your Gemfile(5),
23
- Bundler will fetch all remote sources, but use the dependencies speci-
24
- fied in the 1mGemfile.lock 22minstead of resolving dependencies.
25
-
26
- If a 1mGemfile.lock 22mdoes exist, and you have updated your Gemfile(5),
27
- Bundler will use the dependencies in the 1mGemfile.lock 22mfor all gems that
28
- you did not update, but will re-resolve the dependencies of gems that
29
- you did update. You can find more information about this update process
30
- below under 4mCONSERVATIVE24m 4mUPDATING24m.
31
-
32
- 1mOPTIONS0m
33
- To apply any of 1m--deployment22m, 1m--path22m, 1m--binstubs22m, or 1m--without 22mevery
34
- time 1mbundle install 22mis run, use 1mbundle config 22m(see bundle-config(1)).
35
-
36
- 1m--binstubs[=<directory>]0m
37
- Creates a directory (defaults to 1m~/bin22m) and place any executa-
38
- bles from the gem there. These executables run in Bundler's con-
39
- text. If used, you might add this directory to your environ-
40
- ment's 1mPATH 22mvariable. For instance, if the 1mrails 22mgem comes with
41
- a 1mrails 22mexecutable, this flag will create a 1mbin/rails 22mexecutable
42
- that ensures that all referred dependencies will be resolved
43
- using the bundled gems.
44
-
45
- 1m--clean0m
46
- On finishing the installation Bundler is going to remove any
47
- gems not present in the current Gemfile(5). Don't worry, gems
48
- currently in use will not be removed.
49
-
50
- 1m--full-index0m
51
- Bundler will not call Rubygems' API endpoint (default) but down-
52
- load and cache a (currently big) index file of all gems. Perfor-
53
- mance can be improved for large bundles that seldomly change by
54
- enabling this option.
55
-
56
- 1m--gemfile=<gemfile>0m
57
- The location of the Gemfile(5) which Bundler should use. This
58
- defaults to a Gemfile(5) in the current working directory. In
59
- general, Bundler will assume that the location of the Gemfile(5)
60
- is also the project's root and will try to find 1mGemfile.lock 22mand
61
- 1mvendor/cache 22mrelative to this location.
62
-
63
- 1m--jobs=[<number>]0m
64
- The maximum number of parallel download and install jobs. The
65
- default is 1m122m.
66
-
67
- 1m--local0m
68
- Do not attempt to connect to 1mrubygems.org22m. Instead, Bundler will
69
- use the gems already present in Rubygems' cache or in 1mven-0m
70
- 1mdor/cache22m. Note that if a appropriate platform-specific gem
71
- exists on 1mrubygems.org 22mit will not be found.
72
-
73
- 1m--deployment0m
74
- In 4mdeployment24m 4mmode24m, Bundler will 'roll-out' the bundle for pro-
75
- duction or CI use. Please check carefully if you want to have
76
- this option enabled in your development environment.
77
-
78
- 1m--force0m
79
- Force download every gem, even if the required versions are
80
- already available locally.
81
-
82
- 1m--frozen0m
83
- Do not allow the Gemfile.lock to be updated after this install.
84
- Exits non-zero if there are going to be changes to the Gem-
85
- file.lock.
86
-
87
- 1m--system0m
88
- Installs the gems specified in the bundle to the system's
89
- Rubygems location. This overrides any previous configuration of
90
- 1m--path22m.
91
-
92
- 1m--no-cache0m
93
- Do not update the cache in 1mvendor/cache 22mwith the newly bundled
94
- gems. This does not remove any gems in the cache but keeps the
95
- newly bundled gems from being cached during the install.
96
-
97
- 1m--no-prune0m
98
- Don't remove stale gems from the cache when the installation
99
- finishes.
100
-
101
- 1m--path=<path>0m
102
- The location to install the specified gems to. This defaults to
103
- Rubygems' setting. Bundler shares this location with Rubygems,
104
- 1mgem install ... 22mwill have gem installed there, too. Therefore,
105
- gems installed without a 1m--path ... 22msetting will show up by
106
- calling 1mgem list22m. Accordingly, gems installed to other locations
107
- will not get listed.
108
-
109
- 1m--quiet0m
110
- Do not print progress information to the standard output.
111
- Instead, Bundler will exit using a status code (1m$?22m).
112
-
113
- 1m--retry=[<number>]0m
114
- Retry failed network or git requests for 4mnumber24m times.
115
-
116
- 1m--shebang=<ruby-executable>0m
117
- Uses the specified ruby executable (usually 1mruby22m) to execute the
118
- scripts created with 1m--binstubs22m. In addition, if you use 1m--bin-0m
119
- 1mstubs 22mtogether with 1m--shebang jruby 22mthese executables will be
120
- changed to execute 1mjruby 22minstead.
121
-
122
- 1m--standalone[=<list>]0m
123
- Makes a bundle that can work without depending on Rubygems or
124
- Bundler at runtime. A space separated list of groups to install
125
- has to be specified. Bundler creates a directory named 1mbundle0m
126
- and installs the bundle there. It also generates a 1mbun-0m
127
- 1mdle/bundler/setup.rb 22mfile to replace Bundler's own setup in the
128
- manner required. Using this option implicitly sets 1mpath22m, which
129
- is a [remembered option][REMEMBERED OPTIONS].
130
-
131
- 1m--trust-policy=[<policy>]0m
132
- Apply the Rubygems security policy 4mpolicy24m, where policy is one
133
- of 1mHighSecurity22m, 1mMediumSecurity22m, 1mLowSecurity22m, 1mAlmostNoSecurity22m,
134
- or 1mNoSecurity22m. For more details, please see the Rubygems signing
135
- documentation linked below in 4mSEE24m 4mALSO24m.
136
-
137
- 1m--without=<list>0m
138
- A space-separated list of groups referencing gems to skip during
139
- installation. If a group is given that is in the remembered list
140
- of groups given to --with, it is removed from that list.
141
-
142
- 1m--with=<list>0m
143
- A space-separated list of groups referencing gems to install. If
144
- an optional group is given it is installed. If a group is given
145
- that is in the remembered list of groups given to --without, it
146
- is removed from that list.
147
-
148
- 1mDEPLOYMENT MODE0m
149
- Bundler's defaults are optimized for development. To switch to defaults
150
- optimized for deployment and for CI, use the 1m--deployment 22mflag. Do not
151
- activate deployment mode on development machines, as it will cause an
152
- error when the Gemfile(5) is modified.
153
-
154
- 1. A 1mGemfile.lock 22mis required.
155
-
156
- To ensure that the same versions of the gems you developed with and
157
- tested with are also used in deployments, a 1mGemfile.lock 22mis
158
- required.
159
-
160
- This is mainly to ensure that you remember to check your 1mGem-0m
161
- 1mfile.lock 22minto version control.
162
-
163
- 2. The 1mGemfile.lock 22mmust be up to date
164
-
165
- In development, you can modify your Gemfile(5) and re-run 1mbundle0m
166
- 1minstall 22mto 4mconservatively24m 4mupdate24m your 1mGemfile.lock 22msnapshot.
167
-
168
- In deployment, your 1mGemfile.lock 22mshould be up-to-date with changes
169
- made in your Gemfile(5).
170
-
171
- 3. Gems are installed to 1mvendor/bundle 22mnot your default system loca-
172
- tion
173
-
174
- In development, it's convenient to share the gems used in your
175
- application with other applications and other scripts that run on
176
- the system.
177
-
178
- In deployment, isolation is a more important default. In addition,
179
- the user deploying the application may not have permission to
180
- install gems to the system, or the web server may not have permis-
181
- sion to read them.
182
-
183
- As a result, 1mbundle install --deployment 22minstalls gems to the 1mven-0m
184
- 1mdor/bundle 22mdirectory in the application. This may be overridden
185
- using the 1m--path 22moption.
186
-
187
-
188
-
189
- 1mSUDO USAGE0m
190
- By default, Bundler installs gems to the same location as 1mgem install22m.
191
-
192
- In some cases, that location may not be writable by your Unix user. In
193
- that case, Bundler will stage everything in a temporary directory, then
194
- ask you for your 1msudo 22mpassword in order to copy the gems into their
195
- system location.
196
-
197
- From your perspective, this is identical to installing the gems
198
- directly into the system.
199
-
200
- You should never use 1msudo bundle install22m. This is because several other
201
- steps in 1mbundle install 22mmust be performed as the current user:
202
-
203
- o Updating your 1mGemfile.lock0m
204
-
205
- o Updating your 1mvendor/cache22m, if necessary
206
-
207
- o Checking out private git repositories using your user's SSH keys
208
-
209
-
210
-
211
- Of these three, the first two could theoretically be performed by
212
- 1mchown22ming the resulting files to 1m$SUDO_USER22m. The third, however, can
213
- only be performed by invoking the 1mgit 22mcommand as the current user.
214
- Therefore, git gems are downloaded and installed into 1m~/.bundle 22mrather
215
- than $GEM_HOME or $BUNDLE_PATH.
216
-
217
- As a result, you should run 1mbundle install 22mas the current user, and
218
- Bundler will ask for your password if it is needed to put the gems into
219
- their final location.
220
-
221
- 1mINSTALLING GROUPS0m
222
- By default, 1mbundle install 22mwill install all gems in all groups in your
223
- Gemfile(5), except those declared for a different platform.
224
-
225
- However, you can explicitly tell Bundler to skip installing certain
226
- groups with the 1m--without 22moption. This option takes a space-separated
227
- list of groups.
228
-
229
- While the 1m--without 22moption will skip 4minstalling24m the gems in the speci-
230
- fied groups, it will still 4mdownload24m those gems and use them to resolve
231
- the dependencies of every gem in your Gemfile(5).
232
-
233
- This is so that installing a different set of groups on another machine
234
- (such as a production server) will not change the gems and versions
235
- that you have already developed and tested against.
236
-
237
- 1mBundler offers a rock-solid guarantee that the third-party code you are0m
238
- 1mrunning in development and testing is also the third-party code you are0m
239
- 1mrunning in production. You can choose to exclude some of that code in0m
240
- 1mdifferent environments, but you will never be caught flat-footed by0m
241
- 1mdifferent versions of third-party code being used in different environ-0m
242
- 1mments.0m
243
-
244
- For a simple illustration, consider the following Gemfile(5):
245
-
246
-
247
-
248
- source 'https://rubygems.org'
249
-
250
- gem 'sinatra'
251
-
252
- group :production do
253
- gem 'rack-perftools-profiler'
254
- end
255
-
256
-
257
-
258
- In this case, 1msinatra 22mdepends on any version of Rack (1m>= 1.022m), while
259
- 1mrack-perftools-profiler 22mdepends on 1.x (1m~> 1.022m).
260
-
261
- When you run 1mbundle install --without production 22min development, we
262
- look at the dependencies of 1mrack-perftools-profiler 22mas well. That way,
263
- you do not spend all your time developing against Rack 2.0, using new
264
- APIs unavailable in Rack 1.x, only to have Bundler switch to Rack 1.2
265
- when the 1mproduction 22mgroup 4mis24m used.
266
-
267
- This should not cause any problems in practice, because we do not
268
- attempt to 1minstall 22mthe gems in the excluded groups, and only evaluate
269
- as part of the dependency resolution process.
270
-
271
- This also means that you cannot include different versions of the same
272
- gem in different groups, because doing so would result in different
273
- sets of dependencies used in development and production. Because of the
274
- vagaries of the dependency resolution process, this usually affects
275
- more than the gems you list in your Gemfile(5), and can (surprisingly)
276
- radically change the gems you are using.
277
-
278
- 1mTHE GEMFILE.LOCK0m
279
- When you run 1mbundle install22m, Bundler will persist the full names and
280
- versions of all gems that you used (including dependencies of the gems
281
- specified in the Gemfile(5)) into a file called 1mGemfile.lock22m.
282
-
283
- Bundler uses this file in all subsequent calls to 1mbundle install22m, which
284
- guarantees that you always use the same exact code, even as your appli-
285
- cation moves across machines.
286
-
287
- Because of the way dependency resolution works, even a seemingly small
288
- change (for instance, an update to a point-release of a dependency of a
289
- gem in your Gemfile(5)) can result in radically different gems being
290
- needed to satisfy all dependencies.
291
-
292
- As a result, you 1mSHOULD 22mcheck your 1mGemfile.lock 22minto version control.
293
- If you do not, every machine that checks out your repository (including
294
- your production server) will resolve all dependencies again, which will
295
- result in different versions of third-party code being used if 1many 22mof
296
- the gems in the Gemfile(5) or any of their dependencies have been
297
- updated.
298
-
299
- 1mCONSERVATIVE UPDATING0m
300
- When you make a change to the Gemfile(5) and then run 1mbundle install22m,
301
- Bundler will update only the gems that you modified.
302
-
303
- In other words, if a gem that you 1mdid not modify 22mworked before you
304
- called 1mbundle install22m, it will continue to use the exact same versions
305
- of all dependencies as it used before the update.
306
-
307
- Let's take a look at an example. Here's your original Gemfile(5):
308
-
309
-
310
-
311
- source 'https://rubygems.org'
312
-
313
- gem 'actionpack', '2.3.8'
314
- gem 'activemerchant'
315
-
316
-
317
-
318
- In this case, both 1mactionpack 22mand 1mactivemerchant 22mdepend on 1mactivesup-0m
319
- 1mport22m. The 1mactionpack 22mgem depends on 1mactivesupport 2.3.8 22mand 1mrack ~>0m
320
- 1m1.1.022m, while the 1mactivemerchant 22mgem depends on 1mactivesupport >= 2.3.222m,
321
- 1mbraintree >= 2.0.022m, and 1mbuilder >= 2.0.022m.
322
-
323
- When the dependencies are first resolved, Bundler will select
324
- 1mactivesupport 2.3.822m, which satisfies the requirements of both gems in
325
- your Gemfile(5).
326
-
327
- Next, you modify your Gemfile(5) to:
328
-
329
-
330
-
331
- source 'https://rubygems.org'
332
-
333
- gem 'actionpack', '3.0.0.rc'
334
- gem 'activemerchant'
335
-
336
-
337
-
338
- The 1mactionpack 3.0.0.rc 22mgem has a number of new dependencies, and
339
- updates the 1mactivesupport 22mdependency to 1m= 3.0.0.rc 22mand the 1mrack 22mdepen-
340
- dency to 1m~> 1.2.122m.
341
-
342
- When you run 1mbundle install22m, Bundler notices that you changed the
343
- 1mactionpack 22mgem, but not the 1mactivemerchant 22mgem. It evaluates the gems
344
- currently being used to satisfy its requirements:
345
-
346
- 1mactivesupport 2.3.80m
347
- also used to satisfy a dependency in 1mactivemerchant22m, which is
348
- not being updated
349
-
350
- 1mrack ~> 1.1.00m
351
- not currently being used to satisfy another dependency
352
-
353
- Because you did not explicitly ask to update 1mactivemerchant22m, you would
354
- not expect it to suddenly stop working after updating 1mactionpack22m. How-
355
- ever, satisfying the new 1mactivesupport 3.0.0.rc 22mdependency of action-
356
- pack requires updating one of its dependencies.
357
-
358
- Even though 1mactivemerchant 22mdeclares a very loose dependency that theo-
359
- retically matches 1mactivesupport 3.0.0.rc22m, Bundler treats gems in your
360
- Gemfile(5) that have not changed as an atomic unit together with their
361
- dependencies. In this case, the 1mactivemerchant 22mdependency is treated as
362
- 1mactivemerchant 1.7.1 + activesupport 2.3.822m, so 1mbundle install 22mwill
363
- report that it cannot update 1mactionpack22m.
364
-
365
- To explicitly update 1mactionpack22m, including its dependencies which other
366
- gems in the Gemfile(5) still depend on, run 1mbundle update actionpack0m
367
- (see 1mbundle update(1)22m).
368
-
369
- 1mSummary22m: In general, after making a change to the Gemfile(5) , you
370
- should first try to run 1mbundle install22m, which will guarantee that no
371
- other gem in the Gemfile(5) is impacted by the change. If that does not
372
- work, run bundle update(1) 4mbundle-update.1.html24m.
373
-
374
- 1mSEE ALSO0m
375
- o Gem install docs:
376
- http://guides.rubygems.org/rubygems-basics/#installing-gems
377
-
378
- o Rubygems signing docs: http://guides.rubygems.org/security/
379
-
380
-
381
-
382
-
383
-
384
-
385
- July 2017 BUNDLE-INSTALL(1)
@@ -1,93 +0,0 @@
1
- BUNDLE-LOCK(1) BUNDLE-LOCK(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-lock 22m- Creates / Updates a lockfile without installing
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle lock 22m[--update] [--local] [--print] [--lockfile=PATH]
10
- [--full-index] [--add-platform] [--remove-platform] [--patch] [--minor]
11
- [--major] [--strict] [--conservative]
12
-
13
- 1mDESCRIPTION0m
14
- Lock the gems specified in Gemfile.
15
-
16
- 1mOPTIONS0m
17
- 1m--update=<*gems>0m
18
- Ignores the existing lockfile. Resolve then updates lockfile.
19
- Taking a list of gems or updating all gems if no list is given.
20
-
21
- 1m--local0m
22
- Do not attempt to connect to 1mrubygems.org22m. Instead, Bundler will
23
- use the gems already present in Rubygems' cache or in 1mven-0m
24
- 1mdor/cache22m. Note that if a appropriate platform-specific gem
25
- exists on 1mrubygems.org 22mit will not be found.
26
-
27
- 1m--print0m
28
- Prints the lockfile to STDOUT instead of writing to the file
29
- system.
30
-
31
- 1m--lockfile=<path>0m
32
- The path where the lockfile should be written to.
33
-
34
- 1m--full-index0m
35
- Fall back to using the single-file index of all gems.
36
-
37
- 1m--add-platform0m
38
- Add a new platform to the lockfile, re-resolving for the addi-
39
- tion of that platform.
40
-
41
- 1m--remove-platform0m
42
- Remove a platform from the lockfile.
43
-
44
- 1m--patch0m
45
- If updating, prefer updating only to next patch version.
46
-
47
- 1m--minor0m
48
- If updating, prefer updating only to next minor version.
49
-
50
- 1m--major0m
51
- If updating, prefer updating to next major version (default).
52
-
53
- 1m--strict0m
54
- If updating, do not allow any gem to be updated past latest
55
- --patch | --minor | --major.
56
-
57
- 1m--conservative0m
58
- If updating, use bundle install conservative update behavior and
59
- do not allow shared dependencies to be updated.
60
-
61
- 1mUPDATING ALL GEMS0m
62
- If you run 1mbundle lock 22mwith 1m--update 22moption without list of gems,
63
- bundler will ignore any previously installed gems and resolve all
64
- dependencies again based on the latest versions of all gems available
65
- in the sources.
66
-
67
- 1mUPDATING A LIST OF GEMS0m
68
- Sometimes, you want to update a single gem in the Gemfile(5), and leave
69
- the rest of the gems that you specified locked to the versions in the
70
- 1mGemfile.lock22m.
71
-
72
- For instance, you only want to update 1mnokogiri22m, run 1mbundle lock0m
73
- 1m--update nokogiri22m.
74
-
75
- Bundler will update 1mnokogiri 22mand any of its dependencies, but leave the
76
- rest of the gems that you specified locked to the versions in the 1mGem-0m
77
- 1mfile.lock22m.
78
-
79
- 1mSUPPORTING OTHER PLATFORMS0m
80
- If you want your bundle to support platforms other than the one you're
81
- running locally, you can run 1mbundle lock --add-platform PLATFORM 22mto add
82
- PLATFORM to the lockfile, force bundler to re-resolve and consider the
83
- new platform when picking gems, all without needing to have a machine
84
- that matches PLATFORM handy to install those platform-specific gems on.
85
-
86
- For a full explanation of gem platforms, see 1mgem help platform22m.
87
-
88
- 1mPATCH LEVEL OPTIONS0m
89
- See bundle update(1) 4mbundle-update.1.html24m for details.
90
-
91
-
92
-
93
- June 2017 BUNDLE-LOCK(1)