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
@@ -1,318 +0,0 @@
1
- bundle-config(1) -- Set bundler configuration options
2
- =====================================================
3
-
4
- ## SYNOPSIS
5
-
6
- `bundle config` [<name> [<value>]]
7
-
8
- ## DESCRIPTION
9
-
10
- This command allows you to interact with bundler's configuration system.
11
- Bundler retrieves its configuration from the local application (`app/.bundle/config`),
12
- environment variables, and the user's home directory (`~/.bundle/config`),
13
- in that order of priority.
14
-
15
- Executing `bundle config` with no parameters will print a list of all
16
- bundler configuration for the current bundle, and where that configuration
17
- was set.
18
-
19
- Executing `bundle config <name>` will print the value of that configuration
20
- setting, and where it was set.
21
-
22
- Executing `bundle config <name> <value>` will set that configuration to the
23
- value specified for all bundles executed as the current user. The configuration
24
- will be stored in `~/.bundle/config`. If <name> already is set, <name> will be
25
- overridden and user will be warned.
26
-
27
- Executing `bundle config --global <name> <value>` works the same as above.
28
-
29
- Executing `bundle config --local <name> <value>` will set that configuration to
30
- the local application. The configuration will be stored in `app/.bundle/config`.
31
-
32
- Executing `bundle config --delete <name>` will delete the configuration in both
33
- local and global sources. Not compatible with --global or --local flag.
34
-
35
- Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
36
- cause it to ignore all configuration.
37
-
38
- Executing `bundle config disable_multisource true` upgrades the warning about
39
- the Gemfile containing multiple primary sources to an error. Executing `bundle
40
- config --delete disable_multisource` downgrades this error to a warning.
41
-
42
- ## REMEMBERING OPTIONS
43
-
44
- Flags passed to `bundle install` or the Bundler runtime,
45
- such as `--path foo` or `--without production`, are not remembered between commands.
46
- If these options must be remembered,they must be set using `bundle config`
47
- (e.g., `bundle config path foo`).
48
-
49
- The options that can be configured are:
50
-
51
- * `bin`:
52
- Creates a directory (defaults to `~/bin`) and place any executables from the
53
- gem there. These executables run in Bundler's context. If used, you might add
54
- this directory to your environment's `PATH` variable. For instance, if the
55
- `rails` gem comes with a `rails` executable, this flag will create a
56
- `bin/rails` executable that ensures that all referred dependencies will be
57
- resolved using the bundled gems.
58
-
59
- * `deployment`:
60
- In deployment mode, Bundler will 'roll-out' the bundle for
61
- `production` use. Please check carefully if you want to have this option
62
- enabled in `development` or `test` environments.
63
-
64
- * `path`:
65
- The location to install the specified gems to. This defaults to Rubygems'
66
- setting. Bundler shares this location with Rubygems, `gem install ...` will
67
- have gem installed there, too. Therefore, gems installed without a
68
- `--path ...` setting will show up by calling `gem list`. Accordingly, gems
69
- installed to other locations will not get listed.
70
-
71
- * `without`:
72
- A space-separated list of groups referencing gems to skip during installation.
73
-
74
- ## BUILD OPTIONS
75
-
76
- You can use `bundle config` to give bundler the flags to pass to the gem
77
- installer every time bundler tries to install a particular gem.
78
-
79
- A very common example, the `mysql` gem, requires Snow Leopard users to
80
- pass configuration flags to `gem install` to specify where to find the
81
- `mysql_config` executable.
82
-
83
- gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
84
-
85
- Since the specific location of that executable can change from machine
86
- to machine, you can specify these flags on a per-machine basis.
87
-
88
- bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
89
-
90
- After running this command, every time bundler needs to install the
91
- `mysql` gem, it will pass along the flags you specified.
92
-
93
- ## CONFIGURATION KEYS
94
-
95
- Configuration keys in bundler have two forms: the canonical form and the
96
- environment variable form.
97
-
98
- For instance, passing the `--without` flag to [bundle install(1)][bundle-install]
99
- prevents Bundler from installing certain groups specified in the Gemfile(5). Bundler
100
- persists this value in `app/.bundle/config` so that calls to `Bundler.setup`
101
- do not try to find gems from the `Gemfile` that you didn't install. Additionally,
102
- subsequent calls to [bundle install(1)][bundle-install] remember this setting and skip those
103
- groups.
104
-
105
- The canonical form of this configuration is `"without"`. To convert the canonical
106
- form to the environment variable form, capitalize it, and prepend `BUNDLE_`. The
107
- environment variable form of `"without"` is `BUNDLE_WITHOUT`.
108
-
109
- Any periods in the configuration keys must be replaced with two underscores when
110
- setting it via environment variables. The configuration key `local.rack` becomes
111
- the environment variable `BUNDLE_LOCAL__RACK`.
112
-
113
- ## LIST OF AVAILABLE KEYS
114
-
115
- The following is a list of all configuration keys and their purpose. You can
116
- learn more about their operation in [bundle install(1)][bundle-install].
117
-
118
- * `path` (`BUNDLE_PATH`):
119
- The location on disk where all gems in your bundle will be located regardless
120
- of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
121
- will be installed by `bundle install`. Defaults to `Gem.dir`. When --deployment is
122
- used, defaults to vendor/bundle.
123
- * `frozen` (`BUNDLE_FROZEN`):
124
- Disallow changes to the `Gemfile`. Defaults to `true` when `--deployment`
125
- is used.
126
- * `without` (`BUNDLE_WITHOUT`):
127
- A `:`-separated list of groups whose gems bundler should not install
128
- * `bin` (`BUNDLE_BIN`):
129
- Install executables from gems in the bundle to the specified directory.
130
- Defaults to `false`.
131
- * `gemfile` (`BUNDLE_GEMFILE`):
132
- The name of the file that bundler should use as the `Gemfile`. This location
133
- of this file also sets the root of the project, which is used to resolve
134
- relative paths in the `Gemfile`, among other things. By default, bundler
135
- will search up from the current working directory until it finds a
136
- `Gemfile`.
137
- * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
138
- Path to a designated CA certificate file or folder containing multiple
139
- certificates for trusted CAs in PEM format.
140
- * `ssl_client_cert` (`BUNDLE_SSL_CLIENT_CERT`):
141
- Path to a designated file containing a X.509 client certificate
142
- and key in PEM format.
143
- * `cache_path` (`BUNDLE_CACHE_PATH`): The directory that bundler will place
144
- cached gems in when running <code>bundle package</code>, and that bundler
145
- will look in when installing gems. Defaults to `vendor/bundle`.
146
- * `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`): When set, Gemfiles
147
- containing multiple sources will produce errors instead of warnings. Use
148
- `bundle config --delete disable_multisource` to unset.
149
- * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
150
- messages will be printed. To silence a single gem, use dot notation like
151
- `ignore_messages.httparty true`.
152
- * `retry` (`BUNDLE_RETRY`):
153
- The number of times to retry failed network requests. Defaults to `3`.
154
- * `redirect` (`BUNDLE_REDIRECT`):
155
- The number of redirects allowed for network requests. Defaults to `5`.
156
- * `timeout` (`BUNDLE_TIMEOUT`):
157
- The seconds allowed before timing out for network requests. Defaults to `10`.
158
- * `force_ruby_platform` (`BUNDLE_FORCE_RUBY_PLATFORM`):
159
- Ignore the current machine's platform and install only `ruby` platform gems.
160
- As a result, gems with native extensions will be compiled from source.
161
- * `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
162
- Allow bundler to resolve for the specific running platform and store it in
163
- the lockfile, instead of only using a generic platform.
164
- A specific platform is the exact platform triple reported by
165
- `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`.
166
- On the other hand, generic platforms are those such as `ruby`, `mswin`, or
167
- `java`. In this example, `x86_64-darwin-16` would map to `ruby` and
168
- `universal-java-1.8` to `java`.
169
- * `disable_checksum_validation` (`BUNDLE_DISABLE_CHECKSUM_VALIDATION`):
170
- Allow installing gems even if they do not match the checksum provided by
171
- RubyGems.
172
- * `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
173
- Stop Bundler from checking if a newer Bundler version is available on
174
- rubygems.org.
175
- * `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
176
- Allow Bundler to use cached data when installing without network access.
177
- * `auto_install` (`BUNDLE_AUTO_INSTALL`):
178
- Automatically run `bundle install` when gems are missing.
179
- * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
180
- Cache gems for all platforms.
181
- * `cache_all` (`BUNDLE_CACHE_ALL`):
182
- Cache all gems, including path and git gems.
183
- * `clean` (`BUNDLE_CLEAN`):
184
- Whether Bundler should run `bundle clean` automatically after
185
- `bundle install`.
186
- * `console` (`BUNDLE_CONSOLE`):
187
- The console that `bundle console` starts. Defaults to `irb`.
188
- * `disable_exec_load` (`BUNDLE_DISABLE_EXEC_LOAD`):
189
- Stop Bundler from using `load` to launch an executable in-process in
190
- `bundle exec`.
191
- * `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
192
- Allow Bundler to use a local git override without a branch specified in the
193
- Gemfile.
194
- * `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
195
- Stop Bundler from accessing gems installed to RubyGems' normal location.
196
- * `jobs` (`BUNDLE_JOBS`):
197
- The number of gems Bundler can install in parallel. Defaults to 1.
198
- * `major_deprecations` (`BUNDLE_MAJOR_DEPRECATIONS`):
199
- Whether Bundler should print deprecation warnings for behavior that will
200
- be changed in the next major version.
201
- * `no_install` (`BUNDLE_NO_INSTALL`):
202
- Whether `bundle package` should skip installing gems.
203
- * `no_prune` (`BUNDLE_NO_PRUNE`):
204
- Whether Bundler should leave outdated gems unpruned when caching.
205
- * `only_update_to_newer_versions` (`BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS`):
206
- During `bundle update`, only resolve to newer versions of the gems in the
207
- lockfile.
208
- * `plugins` (`BUNDLE_PLUGINS`):
209
- Enable Bundler's experimental plugin system.
210
- * `shebang` (`BUNDLE_SHEBANG`):
211
- The program name that should be invoked for generated binstubs. Defaults to
212
- the ruby install name used to generate the binstub.
213
- * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
214
- Silence the warning Bundler prints when installing gems as root.
215
- * `ssl_verify_mode` (`BUNDLE_SSL_VERIFY_MODE`):
216
- The SSL verification mode Bundler uses when making HTTPS requests.
217
- Defaults to verify peer.
218
- * `system_bindir` (`BUNDLE_SYSTEM_BINDIR`):
219
- The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
220
- * `user_agent` (`BUNDLE_USER_AGENT`):
221
- The custom user agent fragment Bundler includes in API requests.
222
- * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
223
- Sets the `--key` paramter for `gem push` when using the `rake release`
224
- command with a private gemstash server.
225
-
226
- In general, you should set these settings per-application by using the applicable
227
- flag to the [bundle install(1)][bundle-install] or [bundle package(1)][bundle-package] command.
228
-
229
- You can set them globally either via environment variables or `bundle config`,
230
- whichever is preferable for your setup. If you use both, environment variables
231
- will take preference over global settings.
232
-
233
- ## LOCAL GIT REPOS
234
-
235
- Bundler also allows you to work against a git repository locally
236
- instead of using the remote version. This can be achieved by setting
237
- up a local override:
238
-
239
- bundle config local.GEM_NAME /path/to/local/git/repository
240
-
241
- For example, in order to use a local Rack repository, a developer could call:
242
-
243
- bundle config local.rack ~/Work/git/rack
244
-
245
- Now instead of checking out the remote git repository, the local
246
- override will be used. Similar to a path source, every time the local
247
- git repository change, changes will be automatically picked up by
248
- Bundler. This means a commit in the local git repo will update the
249
- revision in the `Gemfile.lock` to the local git repo revision. This
250
- requires the same attention as git submodules. Before pushing to
251
- the remote, you need to ensure the local override was pushed, otherwise
252
- you may point to a commit that only exists in your local machine.
253
-
254
- Bundler does many checks to ensure a developer won't work with
255
- invalid references. Particularly, we force a developer to specify
256
- a branch in the `Gemfile` in order to use this feature. If the branch
257
- specified in the `Gemfile` and the current branch in the local git
258
- repository do not match, Bundler will abort. This ensures that
259
- a developer is always working against the correct branches, and prevents
260
- accidental locking to a different branch.
261
-
262
- Finally, Bundler also ensures that the current revision in the
263
- `Gemfile.lock` exists in the local git repository. By doing this, Bundler
264
- forces you to fetch the latest changes in the remotes.
265
-
266
- ## MIRRORS OF GEM SOURCES
267
-
268
- Bundler supports overriding gem sources with mirrors. This allows you to
269
- configure rubygems.org as the gem source in your Gemfile while still using your
270
- mirror to fetch gems.
271
-
272
- bundle config mirror.SOURCE_URL MIRROR_URL
273
-
274
- For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
275
-
276
- bundle config mirror.http://rubygems.org http://rubygems-mirror.org
277
-
278
- Each mirror also provides a fallback timeout setting. If the mirror does not
279
- respond within the fallback timeout, Bundler will try to use the original
280
- server instead of the mirror.
281
-
282
- bundle config mirror.SOURCE_URL.fallback_timeout TIMEOUT
283
-
284
- For example, to fall back to rubygems.org after 3 seconds:
285
-
286
- bundle config mirror.https://rubygems.org.fallback_timeout 3
287
-
288
- The default fallback timeout is 0.1 seconds, but the setting can currently
289
- only accept whole seconds (for example, 1, 15, or 30).
290
-
291
- ## CREDENTIALS FOR GEM SOURCES
292
-
293
- Bundler allows you to configure credentials for any gem source, which allows
294
- you to avoid putting secrets into your Gemfile.
295
-
296
- bundle config SOURCE_HOSTNAME USERNAME:PASSWORD
297
-
298
- For example, to save the credentials of user `claudette` for the gem source at
299
- `gems.longerous.com`, you would run:
300
-
301
- bundle config gems.longerous.com claudette:s00pers3krit
302
-
303
- Or you can set the credentials as an environment variable like this:
304
-
305
- export BUNDLE_GEMS__LONGEROUS__COM="claudette:s00pers3krit"
306
-
307
- For gems with a git source with HTTP(S) URL you can specify credentials like so:
308
-
309
- bundle config https://github.com/bundler/bundler.git username:password
310
-
311
- Or you can set the credentials as an environment variable like so:
312
-
313
- export BUNDLE_GITHUB__COM=username:password
314
-
315
- This is especially useful for private repositories on hosts such as Github,
316
- where you can use personal OAuth tokens:
317
-
318
- export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
@@ -1,171 +0,0 @@
1
- BUNDLE-EXEC(1) BUNDLE-EXEC(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-exec 22m- Execute a command in the context of the bundle
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle exec 22m[--keep-file-descriptors] 4mcommand0m
10
-
11
- 1mDESCRIPTION0m
12
- This command executes the command, making all gems specified in the
13
- 1mGemfile(5) 22mavailable to 1mrequire 22min Ruby programs.
14
-
15
- Essentially, if you would normally have run something like 1mrspec0m
16
- 1mspec/my_spec.rb22m, and you want to use the gems specified in the 1mGem-0m
17
- 1mfile(5) 22mand installed via bundle install(1) 4mbundle-install.1.html24m, you
18
- should run 1mbundle exec rspec spec/my_spec.rb22m.
19
-
20
- Note that 1mbundle exec 22mdoes not require that an executable is available
21
- on your shell's 1m$PATH22m.
22
-
23
- 1mOPTIONS0m
24
- 1m--keep-file-descriptors0m
25
- Exec in Ruby 2.0 began discarding non-standard file descriptors.
26
- When this flag is passed, exec will revert to the 1.9 behaviour
27
- of passing all file descriptors to the new process.
28
-
29
- 1mBUNDLE INSTALL --BINSTUBS0m
30
- If you use the 1m--binstubs 22mflag in bundle install(1) 4mbun-0m
31
- 4mdle-install.1.html24m, Bundler will automatically create a directory
32
- (which defaults to 1mapp_root/bin22m) containing all of the executables
33
- available from gems in the bundle.
34
-
35
- After using 1m--binstubs22m, 1mbin/rspec spec/my_spec.rb 22mis identical to 1mbun-0m
36
- 1mdle exec rspec spec/my_spec.rb22m.
37
-
38
- 1mENVIRONMENT MODIFICATIONS0m
39
- 1mbundle exec 22mmakes a number of changes to the shell environment, then
40
- executes the command you specify in full.
41
-
42
- o make sure that it's still possible to shell out to 1mbundle 22mfrom
43
- inside a command invoked by 1mbundle exec 22m(using 1m$BUNDLE_BIN_PATH22m)
44
-
45
- o put the directory containing executables (like 1mrails22m, 1mrspec22m,
46
- 1mrackup22m) for your bundle on 1m$PATH0m
47
-
48
- o make sure that if bundler is invoked in the subshell, it uses the
49
- same 1mGemfile 22m(by setting 1mBUNDLE_GEMFILE22m)
50
-
51
- o add 1m-rbundler/setup 22mto 1m$RUBYOPT22m, which makes sure that Ruby pro-
52
- grams invoked in the subshell can see the gems in the bundle
53
-
54
-
55
-
56
- It also modifies Rubygems:
57
-
58
- o disallow loading additional gems not in the bundle
59
-
60
- o modify the 1mgem 22mmethod to be a no-op if a gem matching the require-
61
- ments is in the bundle, and to raise a 1mGem::LoadError 22mif it's not
62
-
63
- o Define 1mGem.refresh 22mto be a no-op, since the source index is always
64
- frozen when using bundler, and to prevent gems from the system
65
- leaking into the environment
66
-
67
- o Override 1mGem.bin_path 22mto use the gems in the bundle, making system
68
- executables work
69
-
70
- o Add all gems in the bundle into Gem.loaded_specs
71
-
72
-
73
-
74
- 1mLoading0m
75
- By default, when attempting to 1mbundle exec 22mto a file with a ruby she-
76
- bang, Bundler will 1mKernel.load 22mthat file instead of using 1mKernel.exec22m.
77
- For the vast majority of cases, this is a performance improvement. In a
78
- rare few cases, this could cause some subtle side-effects (such as
79
- dependence on the exact contents of 1m$0 22mor 1m__FILE__22m) and the optimiza-
80
- tion can be disabled by enabling the 1mdisable_exec_load 22msetting.
81
-
82
- 1mShelling out0m
83
- Any Ruby code that opens a subshell (like 1msystem22m, backticks, or 1m%x{}22m)
84
- will automatically use the current Bundler environment. If you need to
85
- shell out to a Ruby command that is not part of your current bundle,
86
- use the 1mwith_clean_env 22mmethod with a block. Any subshells created
87
- inside the block will be given the environment present before Bundler
88
- was activated. For example, Homebrew commands run Ruby, but don't work
89
- inside a bundle:
90
-
91
-
92
-
93
- Bundler.with_clean_env do
94
- `brew install wget`
95
- end
96
-
97
-
98
-
99
- Using 1mwith_clean_env 22mis also necessary if you are shelling out to a
100
- different bundle. Any Bundler commands run in a subshell will inherit
101
- the current Gemfile, so commands that need to run in the context of a
102
- different bundle also need to use 1mwith_clean_env22m.
103
-
104
-
105
-
106
- Bundler.with_clean_env do
107
- Dir.chdir "/other/bundler/project" do
108
- `bundle exec ./script`
109
- end
110
- end
111
-
112
-
113
-
114
- Bundler provides convenience helpers that wrap 1msystem 22mand 1mexec22m, and
115
- they can be used like this:
116
-
117
-
118
-
119
- Bundler.clean_system('brew install wget')
120
- Bundler.clean_exec('brew install wget')
121
-
122
-
123
-
124
- 1mRUBYGEMS PLUGINS0m
125
- At present, the Rubygems plugin system requires all files named
126
- 1mrubygems_plugin.rb 22mon the load path of 4many24m installed gem when any Ruby
127
- code requires 1mrubygems.rb22m. This includes executables installed into the
128
- system, like 1mrails22m, 1mrackup22m, and 1mrspec22m.
129
-
130
- Since Rubygems plugins can contain arbitrary Ruby code, they commonly
131
- end up activating themselves or their dependencies.
132
-
133
- For instance, the 1mgemcutter 0.5 22mgem depended on 1mjson_pure22m. If you had
134
- that version of gemcutter installed (even if you 4malso24m had a newer ver-
135
- sion without this problem), Rubygems would activate 1mgemcutter 0.5 22mand
136
- 1mjson_pure <latest>22m.
137
-
138
- If your Gemfile(5) also contained 1mjson_pure 22m(or a gem with a dependency
139
- on 1mjson_pure22m), the latest version on your system might conflict with
140
- the version in your Gemfile(5), or the snapshot version in your 1mGem-0m
141
- 1mfile.lock22m.
142
-
143
- If this happens, bundler will say:
144
-
145
-
146
-
147
- You have already activated json_pure 1.4.6 but your Gemfile
148
- requires json_pure 1.4.3. Consider using bundle exec.
149
-
150
-
151
-
152
- In this situation, you almost certainly want to remove the underlying
153
- gem with the problematic gem plugin. In general, the authors of these
154
- plugins (in this case, the 1mgemcutter 22mgem) have released newer versions
155
- that are more careful in their plugins.
156
-
157
- You can find a list of all the gems containing gem plugins by running
158
-
159
-
160
-
161
- ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
162
-
163
-
164
-
165
- At the very least, you should remove all but the newest version of each
166
- gem plugin, and also remove all gem plugins that you aren't using (1mgem0m
167
- 1muninstall gem_name22m).
168
-
169
-
170
-
171
- June 2017 BUNDLE-EXEC(1)
data/man/bundle-gem.1 DELETED
@@ -1,80 +0,0 @@
1
- .\" generated with Ronn/v0.7.3
2
- .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
- .
4
- .TH "BUNDLE\-GEM" "1" "July 2017" "" ""
5
- .
6
- .SH "NAME"
7
- \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
8
- .
9
- .SH "SYNOPSIS"
10
- \fBbundle gem\fR \fIGEM_NAME\fR \fIOPTIONS\fR
11
- .
12
- .SH "DESCRIPTION"
13
- Generates a directory named \fBGEM_NAME\fR with a \fBRakefile\fR, \fBGEM_NAME\.gemspec\fR, and other supporting files and directories that can be used to develop a rubygem with that name\.
14
- .
15
- .P
16
- Run \fBrake \-T\fR in the resulting project for a list of Rake tasks that can be used to test and publish the gem to rubygems\.org\.
17
- .
18
- .P
19
- The generated project skeleton can be customized with OPTIONS, as explained below\. Note that these options can also be specified via Bundler\'s global configuration file using the following names:
20
- .
21
- .IP "\(bu" 4
22
- \fBgem\.coc\fR
23
- .
24
- .IP "\(bu" 4
25
- \fBgem\.mit\fR
26
- .
27
- .IP "\(bu" 4
28
- \fBgem\.test\fR
29
- .
30
- .IP "" 0
31
- .
32
- .SH "OPTIONS"
33
- .
34
- .TP
35
- \fB\-\-exe\fR or \fB\-b\fR or \fB\-\-bin\fR
36
- Specify that Bundler should create a binary executable (as \fBexe/GEM_NAME\fR) in the generated rubygem project\. This binary will also be added to the \fBGEM_NAME\.gemspec\fR manifest\. This behavior is disabled by default\.
37
- .
38
- .TP
39
- \fB\-\-no\-exe\fR
40
- Do not create a binary (overrides \fB\-\-exe\fR specified in the global config)\.
41
- .
42
- .TP
43
- \fB\-\-coc\fR
44
- Add a \fBCODE_OF_CONDUCT\.md\fR file to the root of the generated project\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
45
- .
46
- .TP
47
- \fB\-\-no\-coc\fR
48
- Do not create a \fBCODE_OF_CONDUCT\.md\fR (overrides \fB\-\-coc\fR specified in the global config)\.
49
- .
50
- .TP
51
- \fB\-\-ext\fR
52
- Add boilerplate for C extension code to the generated project\. This behavior is disabled by default\.
53
- .
54
- .TP
55
- \fB\-\-no\-ext\fR
56
- Do not add C extension code (overrides \fB\-\-ext\fR specified in the global config)\.
57
- .
58
- .TP
59
- \fB\-\-mit\fR
60
- Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated project\. Your name from the global git config is used for the copyright statement\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
61
- .
62
- .TP
63
- \fB\-\-no\-mit\fR
64
- Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
65
- .
66
- .TP
67
- \fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR
68
- Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR and \fBrspec\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
69
- .
70
- .TP
71
- \fB\-e\fR, \fB\-\-edit[=EDITOR]\fR
72
- Open the resulting GEM_NAME\.gemspec in EDITOR, or the default editor if not specified\. The default is \fB$BUNDLER_EDITOR\fR, \fB$VISUAL\fR, or \fB$EDITOR\fR\.
73
- .
74
- .SH "SEE ALSO"
75
- .
76
- .IP "\(bu" 4
77
- bundle\-config(1)
78
- .
79
- .IP "" 0
80
-
data/man/bundle-gem.1.txt DELETED
@@ -1,90 +0,0 @@
1
- BUNDLE-GEM(1) BUNDLE-GEM(1)
2
-
3
-
4
-
5
- 1mNAME0m
6
- 1mbundle-gem 22m- Generate a project skeleton for creating a rubygem
7
-
8
- 1mSYNOPSIS0m
9
- 1mbundle gem 4m22mGEM_NAME24m 4mOPTIONS0m
10
-
11
- 1mDESCRIPTION0m
12
- Generates a directory named 1mGEM_NAME 22mwith a 1mRakefile22m, 1mGEM_NAME.gemspec22m,
13
- and other supporting files and directories that can be used to develop
14
- a rubygem with that name.
15
-
16
- Run 1mrake -T 22min the resulting project for a list of Rake tasks that can
17
- be used to test and publish the gem to rubygems.org.
18
-
19
- The generated project skeleton can be customized with OPTIONS, as
20
- explained below. Note that these options can also be specified via
21
- Bundler's global configuration file using the following names:
22
-
23
- o 1mgem.coc0m
24
-
25
- o 1mgem.mit0m
26
-
27
- o 1mgem.test0m
28
-
29
-
30
-
31
- 1mOPTIONS0m
32
- 1m--exe 22mor 1m-b 22mor 1m--bin0m
33
- Specify that Bundler should create a binary executable (as
34
- 1mexe/GEM_NAME22m) in the generated rubygem project. This binary will
35
- also be added to the 1mGEM_NAME.gemspec 22mmanifest. This behavior is
36
- disabled by default.
37
-
38
- 1m--no-exe0m
39
- Do not create a binary (overrides 1m--exe 22mspecified in the global
40
- config).
41
-
42
- 1m--coc 22mAdd a 1mCODE_OF_CONDUCT.md 22mfile to the root of the generated
43
- project. If this option is unspecified, an interactive prompt
44
- will be displayed and the answer will be saved in Bundler's
45
- global config for future 1mbundle gem 22muse.
46
-
47
- 1m--no-coc0m
48
- Do not create a 1mCODE_OF_CONDUCT.md 22m(overrides 1m--coc 22mspecified in
49
- the global config).
50
-
51
- 1m--ext 22mAdd boilerplate for C extension code to the generated project.
52
- This behavior is disabled by default.
53
-
54
- 1m--no-ext0m
55
- Do not add C extension code (overrides 1m--ext 22mspecified in the
56
- global config).
57
-
58
- 1m--mit 22mAdd an MIT license to a 1mLICENSE.txt 22mfile in the root of the gen-
59
- erated project. Your name from the global git config is used for
60
- the copyright statement. If this option is unspecified, an
61
- interactive prompt will be displayed and the answer will be
62
- saved in Bundler's global config for future 1mbundle gem 22muse.
63
-
64
- 1m--no-mit0m
65
- Do not create a 1mLICENSE.txt 22m(overrides 1m--mit 22mspecified in the
66
- global config).
67
-
68
- 1m-t22m, 1m--test=minitest22m, 1m--test=rspec0m
69
- Specify the test framework that Bundler should use when generat-
70
- ing the project. Acceptable values are 1mminitest 22mand 1mrspec22m. The
71
- 1mGEM_NAME.gemspec 22mwill be configured and a skeleton test/spec
72
- directory will be created based on this option. If this option
73
- is unspecified, an interactive prompt will be displayed and the
74
- answer will be saved in Bundler's global config for future 1mbun-0m
75
- 1mdle gem 22muse.
76
-
77
- 1m-e22m, 1m--edit[=EDITOR]0m
78
- Open the resulting GEM_NAME.gemspec in EDITOR, or the default
79
- editor if not specified. The default is 1m$BUNDLER_EDITOR22m, 1m$VIS-0m
80
- 1mUAL22m, or 1m$EDITOR22m.
81
-
82
- 1mSEE ALSO0m
83
- o bundle-config(1)
84
-
85
-
86
-
87
-
88
-
89
-
90
- July 2017 BUNDLE-GEM(1)