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,27 +0,0 @@
1
- # How you can help: your first commits!
2
-
3
- If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
4
-
5
- If at any point you get stuck, here's how to [get in touch with the Bundler team for help](GETTING_HELP.md).
6
-
7
- ## First contribution suggestions
8
-
9
- We track [small bugs and features](https://github.com/bundler/bundler/labels/contribution%3A%20small) so that anyone who wants to help can start with something that's not too overwhelming.
10
-
11
- Generally, great ways to get started helping out with Bundler are:
12
-
13
- - using prerelease versions (run `gem install bundler --pre`)
14
- - [reporting bugs you encounter or suggesting new features](https://github.com/bundler/bundler/issues/new)
15
- - see our [issues guide](ISSUES.md) for help on filing issues
16
- - see the [new features documentation](../development/NEW_FEATURES.md) for more
17
- - adding to or editing [the Bundler documentation website](http://bundler.io) and [Bundler man pages](http://bundler.io/man/bundle.1.html)
18
- - [checking issues for completeness](BUG_TRIAGE.md)
19
- - closing issues that are not complete
20
- - adding a failing test for reproducible [reported bugs](https://github.com/bundler/bundler/issues)
21
- - reviewing [pull requests](https://github.com/bundler/bundler/pulls) and suggesting improvements
22
- - improving existing code, including suggestions from [PullReview](https://www.pullreview.com/github/bundler/bundler/reviews/master) or [CodeClimate](https://codeclimate.com/github/bundler/bundler)
23
- - writing code (no patch is too small! fix typos or bad whitespace)
24
- - get started setting up your dev environment with [these instructions](../development/DEVELOPMENT_SETUP.md)
25
- - backfilling [unit tests](https://github.com/bundler/bundler/tree/master/spec/bundler) for modules that lack [coverage](https://codeclimate.com/github/bundler/bundler/coverage)
26
-
27
- If nothing on those lists looks good, [talk to us](http://slack.bundler.io/), and we'll figure out what you can help with. We can absolutely use your help, no matter what level of programming skill you have at the moment.
@@ -1,51 +0,0 @@
1
- # Filing Issues: a guide
2
-
3
- So! You're having problems with Bundler. This file is here to help. If you're running into an error, try reading the rest of this file for help. If you can't figure out how to solve your problem, there are also instructions on how to report a bug.
4
-
5
- Before filing an issue, check our [troubleshooting guide](../TROUBLESHOOTING.md) for quick fixes to common issues.
6
-
7
- ## Documentation
8
-
9
- Instructions for common Bundler uses can be found on the [Bundler documentation site](http://bundler.io/).
10
-
11
- Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://bundler.io/man/bundle.1.html) or [Bundler Command Line Reference](http://bundler.io/v1.11/commands.html).
12
-
13
- ## Reporting unresolved problems
14
-
15
- Check our [troubleshooting common issues guide](../TROUBLESHOOTING.md) and see if your issues is resolved using the steps provided.
16
-
17
- Hopefully the troubleshooting steps above resolved your problem! If things still aren't working the way you expect them to, please let us know so that we can diagnose and hopefully fix the problem you're having.
18
-
19
- **The best way to report a bug is by providing a reproduction script.** See these examples:
20
-
21
- * [Git environment variables causing install to fail.](https://gist.github.com/xaviershay/6207550)
22
- * [Multiple gems in a repository cannot be updated independently.](https://gist.github.com/xaviershay/6295889)
23
-
24
- A half working script with comments for the parts you were unable to automate is still appreciated.
25
-
26
- If you are unable to do that, please include the following information in your report:
27
-
28
- - What you're trying to accomplish
29
- - The command you ran
30
- - What you expected to happen
31
- - What actually happened
32
- - The exception backtrace(s), if any
33
- - Everything output by running `bundle env`
34
-
35
- If your version of Bundler does not have the `bundle env` command, then please include:
36
-
37
- - Your `Gemfile`
38
- - Your `Gemfile.lock`
39
- - Your Bundler configuration settings (run `bundle config`)
40
- - What version of bundler you are using (run `bundle -v`)
41
- - What version of Ruby you are using (run `ruby -v`)
42
- - What version of Rubygems you are using (run `gem -v`)
43
- - Whether you are using RVM, and if so what version (run `rvm -v`)
44
- - Whether you have the `rubygems-bundler` gem, which can break gem executables (run `gem list rubygems-bundler`)
45
- - Whether you have the `open_gem` gem, which can cause rake activation conflicts (run `gem list open_gem`)
46
-
47
- If you have either `rubygems-bundler` or `open_gem` installed, please try removing them and then following the troubleshooting steps above before opening a new ticket.
48
-
49
- [Create a gist](https://gist.github.com) containing all of that information, then visit the [Bundler issue tracker](https://github.com/bundler/bundler/issues) and [create a ticket](https://github.com/bundler/bundler/issues/new) describing your problem and linking to your gist.
50
-
51
- Thanks for reporting issues and helping make Bundler better!
@@ -1,38 +0,0 @@
1
- # Contributing to Bundler
2
-
3
- Welcome to Bundler! We are so happy that you're here. We know it can be daunting to joining a new open source project, so here's a quick overview of what you can expect from this documentation.
4
-
5
- *Something missing?* Send us a [pull request](../development/PULL_REQUESTS.md)!
6
-
7
- **Recommended first steps**
8
-
9
- - Join us in the Bundler slack! Generate an invite [here](http://slack.bundler.io/)
10
- - *If you're interested in helping with code:*
11
- - Get a quick overview of our [development process](../development/README.md)
12
- - [Setup your machine for development](../development/SETUP.md)
13
- - Checkout [How you can help: your first contributions!](HOW_YOU_CAN_HELP.md) for a list of suggestions to get started
14
- - *If you're interested in helping with documentation:*
15
- - Read up on [how documentation works for Bundler](../documentation/README.md)
16
- - Learn about our [documentation vision](../documentation/VISION.md)
17
-
18
- You can start learning about Bundler by reading [the documentation](http://bundler.io). If you want, you can also read a (lengthy) explanation of [why Bundler exists and what it does](http://bundler.io/rationale.html).
19
-
20
- ## [How you can help: your first contributions!](HOW_YOU_CAN_HELP.md)
21
-
22
- A detailed overview of how to get started contributing to Bundler, including a long list of suggestions for your first project.
23
-
24
- ## [Bug triage](BUG_TRIAGE.md)
25
-
26
- Want to take a stab at processing issues? Start here.
27
-
28
- ## [Getting help](GETTING_HELP.md)
29
-
30
- How to get in touch with folks who can help when you're stuck. Don't worry! This happens to all of us. We're really nice, we promise.
31
-
32
- ## [Filing issues](ISSUES.md)
33
-
34
- We see a lot of issues in the Bundler repo! Use this guide to file informative, actionable issues.
35
-
36
- ## [Community](COMMUNITY.md)
37
-
38
- Learn more about our goals for the Bundler community and the ways you can help us build better together.
@@ -1,10 +0,0 @@
1
- # Adding New Features
2
-
3
- If you would like to add a new feature to Bundler, please follow these steps:
4
-
5
- 1. [Create an issue](https://github.com/bundler/bundler/issues/new) with the [`feature-request` label](https://github.com/bundler/bundler/labels/type:%20feature-request) to discuss your feature.
6
- 2. Base your commits on the master branch, since we follow [SemVer](http://semver.org) and don't add new features to old releases.
7
- 3. Commit the code and at least one test covering your changes to a feature branch in your fork.
8
- 4. Send us a [pull request](PULL_REQUESTS.md) from your feature branch.
9
-
10
- If you don't hear back immediately, don’t get discouraged! We all have day jobs, but we respond to most tickets within a day or two.
@@ -1,40 +0,0 @@
1
- # Submitting Pull Requests
2
-
3
- Before you submit a pull request, please remember to do the following:
4
-
5
- 1. Check your code format and style
6
- 2. Run the test suite
7
- 3. Use a meaningful commit message without tags
8
-
9
- ## Code formatting
10
-
11
- Make sure the code formatting and styling adheres to the guidelines. We use RuboCop for this. Lack of formatting adherence will result in automatic Travis build failures.
12
-
13
- $ bin/rubocop -a
14
-
15
- ## Tests
16
-
17
- Prior to submitting your PR, please run the test suite:
18
-
19
- $ bin/rspec
20
-
21
- If you are unable to run the entire test suite, please run the unit test suite and at least the integration specs related to the command or domain of Bundler that your code changes relate to.
22
-
23
- Ex. For a pull request that changes something with `bundle update`, you might run:
24
-
25
- $ bin/rspec spec/bundler
26
- $ bin/rspec spec/commands/update_spec.rb
27
-
28
- ## Commit messages
29
-
30
- Please ensure that the commit messages included in the pull request __do not__ have the following:
31
- - `@tag` GitHub user or team references (ex. `@indirect` or `@bundler/core`)
32
- - `#id` references to issues or pull requests (ex. `#43` or `bundler/bundler-site#12`)
33
-
34
- If you want to use these mechanisms, please instead include them in the pull request description. This prevents multiple notifications or references being created on commit rebases or pull request/branch force pushes.
35
-
36
- Additionally, do not use `[ci skip]` or `[skip ci]` mechanisms in your pull request titles/descriptions or commit messages. Every potential commit and pull request should run through Bundler's CI system. This applies to all changes/commits (ex. even a change to just documentation or the removal of a comment).
37
-
38
- ## CHANGELOG.md
39
-
40
- Don't forget to add your changes into the CHANGELOG! If you're submitting documentation, note the changes under the "Documentation" heading.
@@ -1,19 +0,0 @@
1
- # Development
2
-
3
- So, you're ready to start contributing to Bundler! You've come to the right place. Here you'll find an overview of how to work on Bundler locally and a description of the process from code to release.
4
-
5
- ##[Development setup](SETUP.md)
6
-
7
- Guidelines for setting up your local development environment.
8
-
9
- ##[Submitting pull requests](PULL_REQUESTS.md)
10
-
11
- An overview of our preferred PR process, including how to run the test suite and what to expect when you submit code for review.
12
-
13
- ##[Adding new features](NEW_FEATURES.md)
14
-
15
- Guidelines for proposing and writing new features for Bundler.
16
-
17
- ##[Releasing Bundler](RELEASING.md)
18
-
19
- A broad-strokes overview of the release process adhered to by the Bundler core team.
@@ -1,9 +0,0 @@
1
- # Releasing
2
-
3
- _Release process documentation is in progress, see [PR 5252](https://github.com/bundler/bundler/pull/5252)._
4
-
5
- ## Beta testing
6
-
7
- Early releases require heavy testing, especially across various system setups. We :heart: testers, and are big fans of anyone who can run `gem install bundler --pre` and try out upcoming releases in their development and staging environments.
8
-
9
- There may not always be prereleases or beta versions of Bundler. The Bundler team will tweet from the [@bundlerio account](http://twitter.com/bundlerio) when a prerelease or beta version becomes available. You are also always welcome to try checking out master and building a gem yourself if you want to try out the latest changes.
@@ -1,27 +0,0 @@
1
- # Development setup
2
-
3
- Bundler doesn't use a Gemfile to list development dependencies, because when we tried it we couldn't tell if we were awake or it was just another level of dreams. To work on Bundler, you'll probably want to do a couple of things.
4
-
5
- 1. Install `groff-base` and `graphviz` packages using your package manager, e.g for ubuntu
6
-
7
- $ sudo apt-get install graphviz groff-base -y
8
-
9
- and for OS X (with brew installed)
10
-
11
- $ brew install graphviz homebrew/dupes/groff
12
-
13
- 2. Install Bundler's development dependencies
14
-
15
- $ bin/rake spec:deps
16
-
17
- 3. Run the test suite, to make sure things are working
18
-
19
- $ bin/rake spec
20
-
21
- 4. Set up a shell alias to run Bundler from your clone, e.g. a Bash alias:
22
-
23
- `$ alias dbundle='ruby -I /path/to/bundler/lib /path/to/bundler/exe/bundle'`
24
-
25
- ## Debugging with `pry`
26
-
27
- To dive into the code with Pry: `RUBYOPT=-rpry dbundle` to require pry and then run commands.
@@ -1,29 +0,0 @@
1
- # Documentation
2
-
3
- Code needs explanation, and sometimes those who know the code well have trouble explaining it to someone just getting into it. Because of that, we welcome documentation suggestions and patches from everyone, especially if they are brand new to using Bundler.
4
-
5
- Currently, Bundler has two main sources of documentation:
6
-
7
- 1. built-in `help` (including usage information and man pages)
8
- 2. [Bundler documentation site](http://bundler.io)
9
-
10
- If you have a suggestion or proposed change for [bundler.io](http://bundler.io), please open an issue or send a pull request to the [bundler-site](https://github.com/bundler/bundler-site) repository.
11
-
12
- Not sure where to write documentation? In general, follow these guidelines:
13
-
14
- * For an explanation of a specific Bundler command (ex: `bundle clean`): make changes to the man pages
15
- * For longer explanations or usage guides (ex: "Using Bundler with Rails"): create new documentation within the [bundler-site](https://github.com/bundler/bundler-site) repository
16
-
17
- If you are unsure where to begin, ping [@feministy](https://github.com/feministy) or [@indirect](https://github.com/indirect) in the Bundler Slack ([get an invite here](../contributing/GETTING_HELP.md)).
18
-
19
- ## [Writing docs for man pages)](WRITING.md)
20
-
21
- If you’d like to submit a patch to the man pages, you're in the right place! Details on editing and previewing changes to man pages can be found here.
22
-
23
- ## [Documentation vision](VISION.md)
24
-
25
- Just like Bundler, we have a grand plan (really, a wish list of sorts) for Bundler documentation. Preview our hopes and dreams for our documentation here.
26
-
27
- ## Translations
28
-
29
- We don't currently have any translations, but please reach out to us if you would like to help get this going.
@@ -1,26 +0,0 @@
1
- # Documentation vision
2
-
3
- Currently, documentation for using Bundler is spread across two places:
4
-
5
- 1. built-in `help` (including usage information and man pages)
6
- 2. [Bundler documentation site](http://bundler.io)
7
-
8
- Additional documentation about using Bundler to publish gems can also be found on the [RubyGems guides](http://guides.rubygems.org/).
9
-
10
- ## Goals
11
-
12
- Bundler documentation should provide users with assistance:
13
-
14
- 1. Installing Bundler
15
- 2. Using Bundler to manage an application's dependencies
16
- 3. Using Bundler to create, package, and publish gems
17
-
18
- Our goal is to provide three types of documentation:
19
-
20
- * High level overviews that provide topical guidance
21
- * Step-by-step tutorials
22
- * Command-specific reference material for the CLI
23
-
24
- Additionally, this documentation should be readily available in a logical place and easy to follow.
25
-
26
- Someday, we'd like to create deep-dive reference material about the inner workings of Bundler. However, while this is part of our overall vision for Bundler documentation, it is not the focus of our current work.
@@ -1,54 +0,0 @@
1
- # Writing docs for man pages
2
-
3
- A primary source of help for Bundler users are the man pages: the output printed when you run `bundle help` (or `bundler help`). These pages can be a little tricky to format and preview, but are pretty straightforward once you get the hang of it.
4
-
5
- _Note: `bundler` and `bundle` may be used interchangeably in the CLI. This guide uses `bundle` because it's cuter._
6
-
7
- ## What goes in man pages?
8
-
9
- We use man pages for Bundler commands used in the CLI (command line interface). They can vary in length from large (see `bundle install`) to very short (see `bundle clean`).
10
-
11
- To see a list of commands available in the Bundler CLI, type:
12
-
13
- $ bundle help
14
-
15
- Our goal is to have a man page for every command.
16
-
17
- Don't see a man page for a command? Make a new page and send us a PR! We also welcome edits to existing pages.
18
-
19
- ## Creating a new man page
20
-
21
- To create a new man page, simply create a new `.ronn` file in the `man/` directory.
22
-
23
- For example: to create a man page for the command `bundle cookies` (not a real command, sadly), I would create a file `man/bundle-cookies.ronn` and add my documentation there.
24
-
25
- ## Formatting
26
-
27
- Our man pages use ronn formatting, a combination of Markdown and standard man page conventions. It can be a little weird getting used to it at first, especially if you've used Markdown a lot.
28
-
29
- [The ronn guide formatting guide](https://rtomayko.github.io/ronn/ronn.7.html) provides a good overview of the common types of formatting.
30
-
31
- In general, make your page look like the other pages: utilize sections like `##OPTIONS` and formatting like code blocks and definition lists where appropriate.
32
-
33
- If you're not sure if the formatting looks right, that's ok! Make a pull request with what you've got and we'll take a peek.
34
-
35
- ## Previewing
36
-
37
- To preview your changes as they will print out for Bundler users, you'll need to run a series of commands:
38
-
39
- ```
40
- $ rake spec:deps
41
- $ rake man:build
42
- $ man man/bundle-cookies.1
43
- ```
44
-
45
- If you make more changes to `bundle-cookies.ronn`, you'll need to run the `rake man:build` again before previewing.
46
-
47
- ## Testing
48
-
49
- We have tests for our documentation! The most important test file to run before you make your pull request is the one for the `help` command and another for documentation quality.
50
-
51
- ```
52
- $ rspec ./spec/commands/help_spec.rb
53
- $ rspec ./spec/quality_spec.rb
54
- ```
data/exe/bundle_ruby DELETED
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- Signal.trap("INT") { exit 1 }
5
-
6
- require "bundler/errors"
7
- require "bundler/ruby_version"
8
- require "bundler/ruby_dsl"
9
- require "bundler/shared_helpers"
10
-
11
- module Bundler
12
- class Dsl
13
- include RubyDsl
14
-
15
- attr_accessor :ruby_version
16
-
17
- def initialize
18
- @ruby_version = nil
19
- end
20
-
21
- def eval_gemfile(gemfile, contents = nil)
22
- contents ||= File.open(gemfile, "rb", &:read)
23
- instance_eval(contents, gemfile.to_s, 1)
24
- rescue SyntaxError => e
25
- bt = e.message.split("\n")[1..-1]
26
- raise GemfileError, ["Gemfile syntax error:", *bt].join("\n")
27
- rescue ScriptError, RegexpError, NameError, ArgumentError => e
28
- e.backtrace[0] = "#{e.backtrace[0]}: #{e.message} (#{e.class})"
29
- STDERR.puts e.backtrace.join("\n ")
30
- raise GemfileError, "There was an error in your Gemfile," \
31
- " and Bundler cannot continue."
32
- end
33
-
34
- def source(source, options = {})
35
- end
36
-
37
- def gem(name, *args)
38
- end
39
-
40
- def group(*args)
41
- end
42
- end
43
- end
44
-
45
- Bundler::SharedHelpers.major_deprecation("the bundle_ruby executable has been removed in favor of `bundle platform --ruby`")
46
-
47
- dsl = Bundler::Dsl.new
48
- begin
49
- dsl.eval_gemfile(Bundler::SharedHelpers.default_gemfile)
50
- ruby_version = dsl.ruby_version
51
- if ruby_version
52
- puts ruby_version
53
- else
54
- puts "No ruby version specified"
55
- end
56
- rescue Bundler::GemfileError => e
57
- puts e.message
58
- exit(-1)
59
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
- module Bundler
3
- class CLI::Package
4
- attr_reader :options
5
-
6
- def initialize(options)
7
- @options = options
8
- end
9
-
10
- def run
11
- Bundler.ui.level = "error" if options[:quiet]
12
- Bundler.settings[:path] = File.expand_path(options[:path]) if options[:path]
13
- Bundler.settings[:cache_all_platforms] = options["all-platforms"] if options.key?("all-platforms")
14
- Bundler.settings[:cache_path] = options["cache-path"] if options.key?("cache-path")
15
-
16
- setup_cache_all
17
- install
18
-
19
- # TODO: move cache contents here now that all bundles are locked
20
- custom_path = Pathname.new(options[:path]) if options[:path]
21
- Bundler.load.cache(custom_path)
22
- end
23
-
24
- private
25
-
26
- def install
27
- require "bundler/cli/install"
28
- options = self.options.dup
29
- if Bundler.settings[:cache_all_platforms]
30
- options["local"] = false
31
- options["update"] = true
32
- end
33
- Bundler::CLI::Install.new(options).run
34
- end
35
-
36
- def setup_cache_all
37
- Bundler.settings[:cache_all] = options[:all] if options.key?("all")
38
-
39
- if Bundler.definition.has_local_dependencies? && !Bundler.settings[:cache_all]
40
- Bundler.ui.warn "Your Gemfile contains path and git dependencies. If you want " \
41
- "to package them as well, please pass the --all flag. This will be the default " \
42
- "on Bundler 2.0."
43
- end
44
- end
45
- end
46
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
- module Bundler
3
- class DepProxy
4
- attr_reader :__platform, :dep
5
-
6
- def initialize(dep, platform)
7
- @dep = dep
8
- @__platform = platform
9
- end
10
-
11
- def hash
12
- @hash ||= dep.hash
13
- end
14
-
15
- def ==(other)
16
- dep == other.dep && __platform == other.__platform
17
- end
18
-
19
- alias_method :eql?, :==
20
-
21
- def type
22
- @dep.type
23
- end
24
-
25
- def name
26
- @dep.name
27
- end
28
-
29
- def requirement
30
- @dep.requirement
31
- end
32
-
33
- def to_s
34
- s = name.dup
35
- s << " (#{requirement})" unless requirement == Gem::Requirement.default
36
- s << " #{__platform}" unless __platform == Gem::Platform::RUBY
37
- s
38
- end
39
-
40
- private
41
-
42
- def method_missing(*args, &blk)
43
- @dep.send(*args, &blk)
44
- end
45
- end
46
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
- require "rubygems/remote_fetcher"
3
-
4
- module Bundler
5
- # Adds support for setting custom HTTP headers when fetching gems from the
6
- # server.
7
- #
8
- # TODO: Get rid of this when and if gemstash only supports RubyGems versions
9
- # that contain https://github.com/rubygems/rubygems/commit/3db265cc20b2f813.
10
- class GemRemoteFetcher < Gem::RemoteFetcher
11
- attr_accessor :headers
12
-
13
- # Extracted from RubyGems 2.4.
14
- def fetch_http(uri, last_modified = nil, head = false, depth = 0)
15
- fetch_type = head ? Net::HTTP::Head : Net::HTTP::Get
16
- # beginning of change
17
- response = request uri, fetch_type, last_modified do |req|
18
- headers.each {|k, v| req.add_field(k, v) } if headers
19
- end
20
- # end of change
21
-
22
- case response
23
- when Net::HTTPOK, Net::HTTPNotModified then
24
- response.uri = uri if response.respond_to? :uri
25
- head ? response : response.body
26
- when Net::HTTPMovedPermanently, Net::HTTPFound, Net::HTTPSeeOther,
27
- Net::HTTPTemporaryRedirect then
28
- raise FetchError.new("too many redirects", uri) if depth > 10
29
-
30
- location = URI.parse response["Location"]
31
-
32
- if https?(uri) && !https?(location)
33
- raise FetchError.new("redirecting to non-https resource: #{location}", uri)
34
- end
35
-
36
- fetch_http(location, last_modified, head, depth + 1)
37
- else
38
- raise FetchError.new("bad response #{response.message} #{response.code}", uri)
39
- end
40
- end
41
- end
42
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
- module Bundler
3
- class Gemdeps
4
- def initialize(runtime)
5
- @runtime = runtime
6
- end
7
-
8
- def requested_specs
9
- @runtime.requested_specs
10
- end
11
-
12
- def specs
13
- @runtime.specs
14
- end
15
-
16
- def dependencies
17
- @runtime.dependencies
18
- end
19
-
20
- def current_dependencies
21
- @runtime.current_dependencies
22
- end
23
-
24
- def requires
25
- @runtime.requires
26
- end
27
- end
28
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
- # Psych could be a gem, so try to ask for it
3
- begin
4
- gem "psych"
5
- rescue LoadError
6
- end if defined?(gem)
7
-
8
- # Psych could be in the stdlib
9
- # but it's too late if Syck is already loaded
10
- begin
11
- require "psych" unless defined?(Syck)
12
- rescue LoadError
13
- # Apparently Psych wasn't available. Oh well.
14
- end
15
-
16
- # At least load the YAML stdlib, whatever that may be
17
- require "yaml" unless defined?(YAML.dump)
18
-
19
- module Bundler
20
- # On encountering invalid YAML,
21
- # Psych raises Psych::SyntaxError
22
- if defined?(::Psych::SyntaxError)
23
- YamlLibrarySyntaxError = ::Psych::SyntaxError
24
- else # Syck raises ArgumentError
25
- YamlLibrarySyntaxError = ::ArgumentError
26
- end
27
- end
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
- require "fileutils"
3
- require "net/https"
4
- require "openssl"
5
-
6
- module Bundler
7
- module SSLCerts
8
- class CertificateManager
9
- attr_reader :bundler_cert_path, :bundler_certs, :rubygems_certs
10
-
11
- def self.update_from!(rubygems_path)
12
- new(rubygems_path).update!
13
- end
14
-
15
- def initialize(rubygems_path = nil)
16
- if rubygems_path
17
- rubygems_cert_path = File.join(rubygems_path, "lib/rubygems/ssl_certs")
18
- @rubygems_certs = certificates_in(rubygems_cert_path)
19
- end
20
-
21
- @bundler_cert_path = File.expand_path("..", __FILE__)
22
- @bundler_certs = certificates_in(bundler_cert_path)
23
- end
24
-
25
- def up_to_date?
26
- rubygems_certs.all? do |rc|
27
- bundler_certs.find do |bc|
28
- File.basename(bc) == File.basename(rc) && FileUtils.compare_file(bc, rc)
29
- end
30
- end
31
- end
32
-
33
- def update!
34
- return if up_to_date?
35
-
36
- FileUtils.rm bundler_certs
37
- FileUtils.cp rubygems_certs, bundler_cert_path
38
- end
39
-
40
- def connect_to(host)
41
- http = Net::HTTP.new(host, 443)
42
- http.use_ssl = true
43
- http.verify_mode = OpenSSL::SSL::VERIFY_PEER
44
- http.cert_store = store
45
- http.head("/")
46
- end
47
-
48
- private
49
-
50
- def certificates_in(path)
51
- Dir[File.join(path, "**/*.pem")].sort
52
- end
53
-
54
- def store
55
- @store ||= begin
56
- store = OpenSSL::X509::Store.new
57
- bundler_certs.each do |cert|
58
- store.add_file cert
59
- end
60
- store
61
- end
62
- end
63
- end
64
- end
65
- end