bundler 1.13.6 → 1.17.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (323) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +554 -9
  3. data/README.md +28 -5
  4. data/bundler.gemspec +40 -11
  5. data/exe/bundle +4 -8
  6. data/exe/bundle_ruby +4 -3
  7. data/lib/bundler.rb +162 -68
  8. data/lib/bundler/build_metadata.rb +53 -0
  9. data/lib/bundler/capistrano.rb +5 -0
  10. data/lib/bundler/cli.rb +360 -118
  11. data/lib/bundler/cli/add.rb +35 -0
  12. data/lib/bundler/cli/binstubs.rb +18 -10
  13. data/lib/bundler/cli/cache.rb +6 -5
  14. data/lib/bundler/cli/check.rb +4 -6
  15. data/lib/bundler/cli/clean.rb +6 -7
  16. data/lib/bundler/cli/common.rb +47 -1
  17. data/lib/bundler/cli/config.rb +26 -7
  18. data/lib/bundler/cli/console.rb +2 -1
  19. data/lib/bundler/cli/doctor.rb +63 -18
  20. data/lib/bundler/cli/exec.rb +12 -5
  21. data/lib/bundler/cli/gem.rb +59 -21
  22. data/lib/bundler/cli/info.rb +50 -0
  23. data/lib/bundler/cli/init.rb +21 -7
  24. data/lib/bundler/cli/inject.rb +13 -4
  25. data/lib/bundler/cli/install.rb +72 -101
  26. data/lib/bundler/cli/issue.rb +40 -0
  27. data/lib/bundler/cli/list.rb +58 -0
  28. data/lib/bundler/cli/lock.rb +9 -6
  29. data/lib/bundler/cli/open.rb +4 -3
  30. data/lib/bundler/cli/outdated.rb +175 -60
  31. data/lib/bundler/cli/package.rb +9 -6
  32. data/lib/bundler/cli/platform.rb +2 -1
  33. data/lib/bundler/cli/plugin.rb +1 -0
  34. data/lib/bundler/cli/pristine.rb +47 -0
  35. data/lib/bundler/cli/remove.rb +18 -0
  36. data/lib/bundler/cli/show.rb +2 -2
  37. data/lib/bundler/cli/update.rb +44 -34
  38. data/lib/bundler/cli/viz.rb +5 -1
  39. data/lib/bundler/compact_index_client.rb +109 -0
  40. data/lib/bundler/compact_index_client/cache.rb +118 -0
  41. data/lib/bundler/compact_index_client/updater.rb +116 -0
  42. data/lib/bundler/compatibility_guard.rb +14 -0
  43. data/lib/bundler/constants.rb +1 -0
  44. data/lib/bundler/current_ruby.rb +17 -8
  45. data/lib/bundler/definition.rb +353 -182
  46. data/lib/bundler/dep_proxy.rb +3 -1
  47. data/lib/bundler/dependency.rb +22 -10
  48. data/lib/bundler/deployment.rb +1 -1
  49. data/lib/bundler/deprecate.rb +15 -3
  50. data/lib/bundler/dsl.rb +122 -64
  51. data/lib/bundler/endpoint_specification.rb +13 -3
  52. data/lib/bundler/env.rb +110 -38
  53. data/lib/bundler/environment_preserver.rb +27 -6
  54. data/lib/bundler/errors.rb +24 -0
  55. data/lib/bundler/feature_flag.rb +74 -0
  56. data/lib/bundler/fetcher.rb +18 -11
  57. data/lib/bundler/fetcher/base.rb +1 -0
  58. data/lib/bundler/fetcher/compact_index.rb +7 -5
  59. data/lib/bundler/fetcher/dependency.rb +3 -2
  60. data/lib/bundler/fetcher/downloader.rb +25 -7
  61. data/lib/bundler/fetcher/index.rb +3 -2
  62. data/lib/bundler/friendly_errors.rb +33 -7
  63. data/lib/bundler/gem_helper.rb +25 -11
  64. data/lib/bundler/gem_helpers.rb +70 -1
  65. data/lib/bundler/gem_remote_fetcher.rb +1 -0
  66. data/lib/bundler/gem_tasks.rb +1 -0
  67. data/lib/bundler/gem_version_promoter.rb +17 -2
  68. data/lib/bundler/gemdeps.rb +29 -0
  69. data/lib/bundler/graph.rb +1 -0
  70. data/lib/bundler/index.rb +28 -15
  71. data/lib/bundler/injector.rb +216 -33
  72. data/lib/bundler/inline.rb +12 -12
  73. data/lib/bundler/installer.rb +139 -53
  74. data/lib/bundler/installer/gem_installer.rb +15 -5
  75. data/lib/bundler/installer/parallel_installer.rb +113 -28
  76. data/lib/bundler/installer/standalone.rb +1 -0
  77. data/lib/bundler/lazy_specification.rb +31 -3
  78. data/lib/bundler/lockfile_generator.rb +95 -0
  79. data/lib/bundler/lockfile_parser.rb +50 -37
  80. data/lib/bundler/match_platform.rb +13 -3
  81. data/lib/bundler/mirror.rb +10 -5
  82. data/lib/bundler/plugin.rb +22 -8
  83. data/lib/bundler/plugin/api.rb +2 -1
  84. data/lib/bundler/plugin/api/source.rb +17 -4
  85. data/lib/bundler/plugin/events.rb +61 -0
  86. data/lib/bundler/plugin/index.rb +9 -2
  87. data/lib/bundler/plugin/installer.rb +7 -6
  88. data/lib/bundler/plugin/source_list.rb +7 -8
  89. data/lib/bundler/process_lock.rb +24 -0
  90. data/lib/bundler/psyched_yaml.rb +10 -0
  91. data/lib/bundler/remote_specification.rb +30 -1
  92. data/lib/bundler/resolver.rb +187 -194
  93. data/lib/bundler/resolver/spec_group.rb +106 -0
  94. data/lib/bundler/retry.rb +5 -1
  95. data/lib/bundler/ruby_dsl.rb +1 -0
  96. data/lib/bundler/ruby_version.rb +12 -2
  97. data/lib/bundler/rubygems_ext.rb +23 -8
  98. data/lib/bundler/rubygems_gem_installer.rb +90 -0
  99. data/lib/bundler/rubygems_integration.rb +193 -70
  100. data/lib/bundler/runtime.rb +39 -22
  101. data/lib/bundler/settings.rb +245 -85
  102. data/lib/bundler/settings/validator.rb +102 -0
  103. data/lib/bundler/setup.rb +4 -7
  104. data/lib/bundler/shared_helpers.rb +183 -40
  105. data/lib/bundler/similarity_detector.rb +1 -0
  106. data/lib/bundler/source.rb +58 -1
  107. data/lib/bundler/source/gemspec.rb +1 -0
  108. data/lib/bundler/source/git.rb +52 -23
  109. data/lib/bundler/source/git/git_proxy.rb +30 -14
  110. data/lib/bundler/source/metadata.rb +62 -0
  111. data/lib/bundler/source/path.rb +42 -16
  112. data/lib/bundler/source/path/installer.rb +4 -2
  113. data/lib/bundler/source/rubygems.rb +171 -82
  114. data/lib/bundler/source/rubygems/remote.rb +12 -2
  115. data/lib/bundler/source_list.rb +75 -15
  116. data/lib/bundler/spec_set.rb +67 -32
  117. data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
  118. data/lib/bundler/stub_specification.rb +86 -2
  119. data/lib/bundler/templates/.document +1 -0
  120. data/lib/bundler/templates/Executable +13 -1
  121. data/lib/bundler/templates/Executable.bundler +105 -0
  122. data/lib/bundler/templates/Executable.standalone +5 -5
  123. data/lib/bundler/templates/Gemfile +3 -0
  124. data/lib/bundler/templates/gems.rb +8 -0
  125. data/lib/bundler/templates/newgem/Gemfile.tt +4 -2
  126. data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
  127. data/lib/bundler/templates/newgem/README.md.tt +14 -8
  128. data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
  129. data/lib/bundler/templates/newgem/bin/console.tt +1 -1
  130. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
  131. data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
  132. data/lib/bundler/templates/newgem/gitignore.tt +5 -1
  133. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -6
  134. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
  135. data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
  136. data/lib/bundler/templates/newgem/rspec.tt +1 -0
  137. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -3
  138. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +13 -1
  139. data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
  140. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
  141. data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
  142. data/lib/bundler/ui.rb +1 -0
  143. data/lib/bundler/ui/rg_proxy.rb +1 -0
  144. data/lib/bundler/ui/shell.rb +30 -10
  145. data/lib/bundler/ui/silent.rb +21 -1
  146. data/lib/bundler/uri_credentials_filter.rb +1 -0
  147. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  148. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
  149. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  150. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  151. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  152. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +26 -6
  153. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +2 -1
  154. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +12 -4
  155. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +3 -2
  156. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  157. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +11 -3
  158. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +13 -1
  159. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +3 -2
  160. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -2
  161. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +18 -5
  162. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
  163. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  164. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  165. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
  166. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +499 -128
  167. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
  168. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
  169. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
  170. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +27 -24
  171. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
  172. data/lib/bundler/vendor/thor/lib/thor.rb +46 -21
  173. data/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
  174. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
  175. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  176. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
  177. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
  178. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
  179. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
  180. data/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
  181. data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
  182. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
  183. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
  184. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
  185. data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
  186. data/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
  187. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
  188. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  189. data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
  190. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
  191. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
  192. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
  193. data/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
  194. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  195. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
  196. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
  197. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
  198. data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  199. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  200. data/lib/bundler/vendored_fileutils.rb +9 -0
  201. data/lib/bundler/vendored_molinillo.rb +1 -0
  202. data/lib/bundler/vendored_persistent.rb +43 -3
  203. data/lib/bundler/vendored_thor.rb +6 -2
  204. data/lib/bundler/version.rb +19 -2
  205. data/lib/bundler/version_ranges.rb +76 -0
  206. data/lib/bundler/vlad.rb +5 -0
  207. data/lib/bundler/worker.rb +30 -6
  208. data/lib/bundler/yaml_serializer.rb +4 -4
  209. data/man/bundle-add.1 +58 -0
  210. data/man/bundle-add.1.txt +52 -0
  211. data/man/bundle-add.ronn +40 -0
  212. data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +11 -1
  213. data/man/bundle-binstubs.1.txt +48 -0
  214. data/man/bundle-binstubs.ronn +15 -1
  215. data/man/bundle-check.1 +31 -0
  216. data/man/bundle-check.1.txt +33 -0
  217. data/man/bundle-check.ronn +26 -0
  218. data/man/bundle-clean.1 +24 -0
  219. data/man/bundle-clean.1.txt +26 -0
  220. data/man/bundle-clean.ronn +18 -0
  221. data/man/bundle-config.1 +497 -0
  222. data/man/bundle-config.1.txt +529 -0
  223. data/man/bundle-config.ronn +233 -61
  224. data/man/bundle-doctor.1 +44 -0
  225. data/man/bundle-doctor.1.txt +44 -0
  226. data/man/bundle-doctor.ronn +33 -0
  227. data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +6 -3
  228. data/man/bundle-exec.1.txt +178 -0
  229. data/man/bundle-exec.ronn +10 -3
  230. data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +4 -4
  231. data/man/bundle-gem.1.txt +91 -0
  232. data/man/bundle-gem.ronn +3 -2
  233. data/man/bundle-info.1 +20 -0
  234. data/man/bundle-info.1.txt +21 -0
  235. data/man/bundle-info.ronn +17 -0
  236. data/man/bundle-init.1 +25 -0
  237. data/man/bundle-init.1.txt +34 -0
  238. data/man/bundle-init.ronn +29 -0
  239. data/man/bundle-inject.1 +33 -0
  240. data/man/bundle-inject.1.txt +32 -0
  241. data/man/bundle-inject.ronn +22 -0
  242. data/{lib/bundler/man/bundle-install → man/bundle-install.1} +32 -29
  243. data/man/bundle-install.1.txt +396 -0
  244. data/man/bundle-install.ronn +45 -36
  245. data/man/bundle-list.1 +50 -0
  246. data/man/bundle-list.1.txt +43 -0
  247. data/man/bundle-list.ronn +33 -0
  248. data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
  249. data/man/bundle-lock.1.txt +93 -0
  250. data/man/bundle-lock.ronn +47 -0
  251. data/man/bundle-open.1 +32 -0
  252. data/man/bundle-open.1.txt +29 -0
  253. data/man/bundle-open.ronn +19 -0
  254. data/man/bundle-outdated.1 +155 -0
  255. data/man/bundle-outdated.1.txt +131 -0
  256. data/man/bundle-outdated.ronn +111 -0
  257. data/{lib/bundler/man/bundle-package → man/bundle-package.1} +6 -3
  258. data/man/bundle-package.1.txt +79 -0
  259. data/man/bundle-package.ronn +7 -2
  260. data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +1 -1
  261. data/man/bundle-platform.1.txt +57 -0
  262. data/man/bundle-pristine.1 +34 -0
  263. data/man/bundle-pristine.1.txt +44 -0
  264. data/man/bundle-pristine.ronn +34 -0
  265. data/man/bundle-remove.1 +31 -0
  266. data/man/bundle-remove.1.txt +34 -0
  267. data/man/bundle-remove.ronn +23 -0
  268. data/man/bundle-show.1 +23 -0
  269. data/man/bundle-show.1.txt +27 -0
  270. data/man/bundle-show.ronn +21 -0
  271. data/man/bundle-update.1 +394 -0
  272. data/man/bundle-update.1.txt +391 -0
  273. data/man/bundle-update.ronn +172 -16
  274. data/man/bundle-viz.1 +39 -0
  275. data/man/bundle-viz.1.txt +39 -0
  276. data/man/bundle-viz.ronn +30 -0
  277. data/{lib/bundler/man/bundle → man/bundle.1} +44 -28
  278. data/man/bundle.1.txt +116 -0
  279. data/man/bundle.ronn +39 -27
  280. data/{lib/bundler/man → man}/gemfile.5 +67 -84
  281. data/man/gemfile.5.ronn +77 -55
  282. data/man/gemfile.5.txt +653 -0
  283. data/man/index.txt +25 -8
  284. metadata +118 -58
  285. data/.codeclimate.yml +0 -25
  286. data/.gitignore +0 -16
  287. data/.rspec +0 -3
  288. data/.rubocop.yml +0 -128
  289. data/.rubocop_todo.yml +0 -248
  290. data/.travis.yml +0 -108
  291. data/CODE_OF_CONDUCT.md +0 -42
  292. data/CONTRIBUTING.md +0 -36
  293. data/DEVELOPMENT.md +0 -148
  294. data/ISSUES.md +0 -100
  295. data/Rakefile +0 -333
  296. data/bin/rake +0 -19
  297. data/bin/rspec +0 -15
  298. data/bin/rubocop +0 -17
  299. data/bin/with_rubygems +0 -39
  300. data/lib/bundler/man/bundle-binstubs.txt +0 -33
  301. data/lib/bundler/man/bundle-config +0 -254
  302. data/lib/bundler/man/bundle-config.txt +0 -282
  303. data/lib/bundler/man/bundle-exec.txt +0 -171
  304. data/lib/bundler/man/bundle-gem.txt +0 -90
  305. data/lib/bundler/man/bundle-install.txt +0 -385
  306. data/lib/bundler/man/bundle-lock.txt +0 -52
  307. data/lib/bundler/man/bundle-package.txt +0 -74
  308. data/lib/bundler/man/bundle-platform.txt +0 -57
  309. data/lib/bundler/man/bundle-update +0 -221
  310. data/lib/bundler/man/bundle-update.txt +0 -227
  311. data/lib/bundler/man/bundle.txt +0 -104
  312. data/lib/bundler/man/gemfile.5.txt +0 -636
  313. data/lib/bundler/postit_trampoline.rb +0 -68
  314. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
  315. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
  316. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
  317. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
  318. data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
  319. data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
  320. data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
  321. data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
  322. data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
  323. data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
data/.rubocop_todo.yml DELETED
@@ -1,248 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2016-07-27 12:41:39 -0500 using RuboCop version 0.41.2.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 4
10
- Lint/Eval:
11
- Exclude:
12
- - 'lib/bundler.rb'
13
- - 'lib/bundler/endpoint_specification.rb'
14
- - 'spec/support/streams.rb'
15
-
16
- # Offense count: 4
17
- Lint/HandleExceptions:
18
- Exclude:
19
- - 'lib/bundler/installer.rb'
20
- - 'lib/bundler/psyched_yaml.rb'
21
- - 'lib/bundler/vendored_persistent.rb'
22
-
23
- # Offense count: 1
24
- Lint/IneffectiveAccessModifier:
25
- Exclude:
26
- - 'lib/bundler/settings.rb'
27
-
28
- # Offense count: 3
29
- Lint/NestedMethodDefinition:
30
- Exclude:
31
- - 'lib/bundler/inline.rb'
32
- - 'spec/support/builders.rb'
33
-
34
- # Offense count: 5
35
- Lint/RescueException:
36
- Exclude:
37
- - 'lib/bundler/cli.rb'
38
- - 'lib/bundler/dsl.rb'
39
- - 'lib/bundler/friendly_errors.rb'
40
- - 'lib/bundler/rubygems_integration.rb'
41
- - 'lib/bundler/worker.rb'
42
-
43
- # Offense count: 1
44
- Lint/UselessAccessModifier:
45
- Exclude:
46
- - 'lib/bundler/fetcher.rb'
47
-
48
- # Offense count: 6
49
- Lint/UselessAssignment:
50
- Exclude:
51
- - 'lib/bundler/index.rb'
52
- - 'lib/bundler/installer.rb'
53
-
54
- # Offense count: 1686
55
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
56
- # URISchemes: http, https
57
- Metrics/LineLength:
58
- Max: 207
59
-
60
- # Offense count: 3
61
- # Configuration parameters: CountKeywordArgs.
62
- Metrics/ParameterLists:
63
- Max: 6
64
-
65
- # Offense count: 6
66
- # Cop supports --auto-correct.
67
- Performance/RedundantBlockCall:
68
- Exclude:
69
- - 'lib/bundler/dsl.rb'
70
- - 'lib/bundler/gem_helper.rb'
71
- - 'lib/bundler/retry.rb'
72
- - 'lib/bundler/shared_helpers.rb'
73
- - 'spec/support/helpers.rb'
74
-
75
- # Offense count: 2
76
- # Cop supports --auto-correct.
77
- Performance/RedundantMatch:
78
- Exclude:
79
- - 'lib/bundler/definition.rb'
80
- - 'lib/bundler/lockfile_parser.rb'
81
-
82
- # Offense count: 6
83
- # Cop supports --auto-correct.
84
- # Configuration parameters: MaxKeyValuePairs.
85
- Performance/RedundantMerge:
86
- Exclude:
87
- - 'lib/bundler/cli/gem.rb'
88
- - 'spec/support/helpers.rb'
89
-
90
- # Offense count: 1
91
- Style/AccessorMethodName:
92
- Exclude:
93
- - 'lib/bundler/source/git.rb'
94
-
95
- # Offense count: 3
96
- Style/CaseEquality:
97
- Exclude:
98
- - 'lib/bundler/dsl.rb'
99
- - 'lib/bundler/match_platform.rb'
100
- - 'lib/bundler/rubygems_ext.rb'
101
-
102
- # Offense count: 23
103
- # Configuration parameters: EnforcedStyle, SupportedStyles.
104
- # SupportedStyles: nested, compact
105
- Style/ClassAndModuleChildren:
106
- Enabled: false
107
-
108
- # Offense count: 10
109
- # Cop supports --auto-correct.
110
- # Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
111
- # SupportedStyles: assign_to_condition, assign_inside_condition
112
- Style/ConditionalAssignment:
113
- Exclude:
114
- - 'lib/bundler/cli.rb'
115
- - 'lib/bundler/cli/gem.rb'
116
- - 'lib/bundler/cli/lock.rb'
117
- - 'lib/bundler/cli/platform.rb'
118
- - 'lib/bundler/dsl.rb'
119
- - 'lib/bundler/lazy_specification.rb'
120
- - 'lib/bundler/psyched_yaml.rb'
121
- - 'lib/bundler/rubygems_integration.rb'
122
- - 'lib/bundler/source/git.rb'
123
- - 'lib/bundler/source/rubygems.rb'
124
-
125
- # Offense count: 138
126
- Style/Documentation:
127
- Enabled: false
128
-
129
- # Offense count: 2
130
- # Cop supports --auto-correct.
131
- # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
132
- Style/ExtraSpacing:
133
- Exclude:
134
- - 'lib/bundler/cli.rb'
135
-
136
- # Offense count: 4
137
- # Configuration parameters: AllowedVariables.
138
- Style/GlobalVars:
139
- Exclude:
140
- - 'lib/bundler/cli.rb'
141
- - 'spec/spec_helper.rb'
142
- - 'spec/support/helpers.rb'
143
-
144
- # Offense count: 1
145
- Style/IfInsideElse:
146
- Exclude:
147
- - 'lib/bundler/cli/install.rb'
148
-
149
- # Offense count: 1
150
- Style/IfUnlessModifierOfIfUnless:
151
- Exclude:
152
- - 'spec/support/helpers.rb'
153
-
154
- # Offense count: 4
155
- # Cop supports --auto-correct.
156
- # Configuration parameters: SupportedStyles, IndentationWidth.
157
- # SupportedStyles: special_inside_parentheses, consistent, align_brackets
158
- Style/IndentArray:
159
- EnforcedStyle: consistent
160
-
161
- # Offense count: 2
162
- # Configuration parameters: EnforcedStyle, SupportedStyles.
163
- # SupportedStyles: module_function, extend_self
164
- Style/ModuleFunction:
165
- Exclude:
166
- - 'lib/bundler/shared_helpers.rb'
167
- - 'spec/support/path.rb'
168
-
169
- # Offense count: 3
170
- # Cop supports --auto-correct.
171
- # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
172
- # SupportedStyles: aligned, indented, indented_relative_to_receiver
173
- Style/MultilineMethodCallIndentation:
174
- Exclude:
175
- - 'lib/bundler/cli/common.rb'
176
- - 'spec/bundler/plugin/source_list_spec.rb'
177
-
178
- # Offense count: 3
179
- # Cop supports --auto-correct.
180
- Style/NestedParenthesizedCalls:
181
- Exclude:
182
- - 'lib/bundler/resolver.rb'
183
- - 'spec/commands/lock_spec.rb'
184
- - 'spec/runtime/setup_spec.rb'
185
-
186
- # Offense count: 9
187
- # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
188
- # NamePrefix: is_, has_, have_
189
- # NamePrefixBlacklist: is_, has_, have_
190
- # NameWhitelist: is_a?
191
- Style/PredicateName:
192
- Exclude:
193
- - 'spec/**/*'
194
- - 'lib/bundler/definition.rb'
195
- - 'lib/bundler/installer/parallel_installer.rb'
196
- - 'lib/bundler/settings.rb'
197
- - 'lib/bundler/source/git.rb'
198
- - 'lib/bundler/source/git/git_proxy.rb'
199
- - 'lib/bundler/source/path.rb'
200
-
201
- # Offense count: 25
202
- # Cop supports --auto-correct.
203
- # Configuration parameters: EnforcedStyle, SupportedStyles.
204
- # SupportedStyles: compact, exploded
205
- Style/RaiseArgs:
206
- Enabled: false
207
-
208
- # Offense count: 2
209
- # Cop supports --auto-correct.
210
- Style/RedundantParentheses:
211
- Exclude:
212
- - 'lib/bundler/cli/console.rb'
213
- - 'lib/bundler/dsl.rb'
214
-
215
- # Offense count: 1
216
- # Cop supports --auto-correct.
217
- # Configuration parameters: AllowForAlignment.
218
- Style/SpaceAroundOperators:
219
- Exclude:
220
- - 'lib/bundler/retry.rb'
221
-
222
- # Offense count: 10
223
- # Cop supports --auto-correct.
224
- # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
225
- # SupportedStyles: comma, consistent_comma, no_comma
226
- Style/TrailingCommaInLiteral:
227
- Exclude:
228
- - 'lib/bundler/cli/gem.rb'
229
- - 'lib/bundler/dependency.rb'
230
- - 'lib/bundler/fetcher.rb'
231
- - 'lib/bundler/gem_helpers.rb'
232
- - 'lib/bundler/graph.rb'
233
- - 'lib/bundler/ruby_version.rb'
234
- - 'lib/bundler/similarity_detector.rb'
235
- - 'spec/support/artifice/endpoint.rb'
236
-
237
- # Offense count: 18
238
- # Cop supports --auto-correct.
239
- Style/UnneededInterpolation:
240
- Exclude:
241
- - 'lib/bundler/cli/config.rb'
242
- - 'lib/bundler/env.rb'
243
- - 'spec/bundler/shared_helpers_spec.rb'
244
- - 'spec/cache/git_spec.rb'
245
- - 'spec/commands/exec_spec.rb'
246
- - 'spec/support/artifice/endpoint.rb'
247
- - 'spec/support/artifice/endpoint_500.rb'
248
- - 'spec/support/fakeweb/windows.rb'
data/.travis.yml DELETED
@@ -1,108 +0,0 @@
1
- language: ruby
2
- script: rake spec:travis
3
- before_script:
4
- - travis_retry rake spec:travis:deps
5
- - travis_retry rake man:build
6
- - travis_retry rake spec:rubygems:clone_rubygems_$RGV
7
-
8
- branches:
9
- only:
10
- - master
11
- - auto
12
- - /.+-dev$/
13
- - /.+-stable$/
14
-
15
- notifications:
16
- email:
17
- # andre
18
- - secure: "bCcvqJT7YrBawtkXXwHhT+jOFth7r2Qv/30PkkbhQxk6Jb3xambjCOJ3U6vJ\ngYmiL50exi5lUp3oc3SEbHN5t2CrZqOZDQ6o7P8EAmB5c0oH2RrYaFOkI5Gt\nul/jGH/96A9sj0aMwG7JfdMSfhqj1DUKAm2PnnbXPL853VfmT24="
19
- # terence
20
- - secure: "MQ8eA5Jb8YzEpAo58DRGfVJklAPcEbAulpBZnTxp0am6ldneDtJHbQk21w6R\nj5GsDHlzr/lMp/GHIimtUZ7rLohfND8fj/W7fs1Dkd4eN02/ERt98x3pHlqv\nvZgSnZ39uVYv+OcphraE24QaRaGWLhWZAMYQTVe/Yz50NyG8g1U="
21
- slack:
22
- on_success: change
23
- on_failure: always
24
- rooms:
25
- - secure: JxBi7DDJGkIF/7f/FSN/HUHpvV4EKfQccZHTPd1b2pNJn3GXo6u+tNVbAw2WjxYzPyPQI3ZcYBCU9SEXp/i7VmG8uMzh8Kyildw+miSKYKVb90uYqcsXWzbxwyNBgJLvyDkzST45H5lgnyAicee3WkFes/WDZikIajbH7ztdb04=
26
-
27
- addons:
28
- code_climate:
29
- repo_token:
30
- secure: "TrzIv116JLGUxm6PAUskCYrv8KTDguncKROVwbnjVPKTGDAgoDderd8JUdDEXrKoZ9qGLD2TPYKExt9/QDl71E+qHdWnVqWv4HKCUk2P9z/VLKzHuggOUBkCXiJUhjywUieCJhI3N92bfq2EjSBbu2/OFHqWOjLQ+QCooTEBjv8="
31
-
32
- rvm:
33
- - 2.3.1
34
- - 2.2
35
- - 2.1
36
- - 2.0.0
37
- - 1.9.3
38
- - 1.8.7
39
-
40
- # Rubygems versions MUST be available as rake tasks
41
- # see Rakefile:125 for the list of possible RGV values
42
- env:
43
- # We need to know if changes to rubygems will break bundler on release
44
- - RGV=master
45
- # Test the latest rubygems release with all of our supported rubies
46
- - RGV=v2.6.4
47
- - RGV=v2.4.8
48
-
49
- matrix:
50
- include:
51
- # Ruby 2.2, Rubygems 2.4.5 and up (included by RGV above)
52
- # Ruby 2.1, Rubygems 2.2.2 and up
53
- - rvm: 2.1
54
- env: RGV=v2.2.5
55
- # Ruby 2.0.0, Rubygems 2.0.0 and up
56
- - rvm: 2.0.0
57
- env: RGV=v2.2.5
58
- - rvm: 2.0.0
59
- env: RGV=v2.1.11
60
- - rvm: 2.0.0
61
- env: RGV=v2.0.14
62
- # Ruby 1.9.3, Rubygems 1.5.3 and up
63
- - rvm: 1.9.3
64
- env: RGV=v2.2.5
65
- - rvm: 1.9.3
66
- env: RGV=v2.1.11
67
- - rvm: 1.9.3
68
- env: RGV=v2.0.14
69
- - rvm: 1.9.3
70
- env: RGV=v1.8.29
71
- - rvm: 1.9.3
72
- env: RGV=v1.7.2
73
- - rvm: 1.9.3
74
- env: RGV=v1.6.2
75
- - rvm: 1.9.3
76
- env: RGV=v1.5.3
77
- # Ruby 1.8.7, Rubygems 1.3.6 and up
78
- - rvm: 1.8.7
79
- env: RGV=v2.2.5
80
- - rvm: 1.8.7
81
- env: RGV=v2.0.14
82
- - rvm: 1.8.7
83
- env: RGV=v1.8.29
84
- - rvm: 1.8.7
85
- env: RGV=v1.7.2
86
- - rvm: 1.8.7
87
- env: RGV=v1.6.2
88
- - rvm: 1.8.7
89
- env: RGV=v1.5.3
90
- - rvm: 1.8.7
91
- env: RGV=v1.4.2
92
- - rvm: 1.8.7
93
- env: RGV=v1.3.7
94
- - rvm: 1.8.7
95
- env: RGV=v1.3.6
96
-
97
- # ALLOWED FAILURES
98
- # For no apparent reason, this often goes over the Travis limit
99
- - rvm: 1.8.7
100
- env: RGV=v2.1.11
101
- # Ruby-head (we want to know how we're doing, but not fail the build)
102
- - rvm: ruby-head
103
- env: RGV=master
104
-
105
- allow_failures:
106
- - rvm: 1.8.7
107
- env: RGV=v2.1.11
108
- - rvm: ruby-head
data/CODE_OF_CONDUCT.md DELETED
@@ -1,42 +0,0 @@
1
- # Bundler Code of Conduct
2
-
3
- The Bundler project strongly values contributors from anywhere, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, or nationality. As a result, the Bundler team has agreed to and enforces this code of conduct in order to provide a harassment-free experience for everyone who participates in the development of Bundler.
4
-
5
- ### Summary
6
-
7
- Harassment in code and discussion or violation of physical boundaries is completely unacceptable anywhere in the Bundler project’s codebases, issue trackers, chat rooms, mailing lists, meetups, and any other events. Violators will be warned and then blocked or banned by the core team at or before the 3rd violation.
8
-
9
- ### In detail
10
-
11
- Harassment includes offensive verbal comments related to level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, nationality, the use of sexualized language or imagery, deliberate intimidation, stalking, sustained disruption, and unwelcome sexual attention.
12
-
13
- Individuals asked to stop any harassing behavior are expected to comply immediately.
14
-
15
- Maintainers, including the core team, are also subject to the anti-harassment policy.
16
-
17
- If anyone engages in abusive, harassing, or otherwise unacceptable behavior, including maintainers, we may take appropriate action, up to and including warning the offender, deletion of comments, removal from the project’s codebase and communication systems, and escalation to Github support.
18
-
19
- If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of [the core team](http://bundler.io/contributors.html) or [email the core team](mailto:team@bundler.io) immediately.
20
-
21
- We expect everyone to follow these rules anywhere in the Bundler project’s codebases, issue trackers, IRC channel, group chat, and mailing lists.
22
-
23
- This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
24
-
25
- Finally, don't forget that it is human to make mistakes! We all do. Let’s work together to help each other, resolve issues, and learn from the mistakes that we will all inevitably make from time to time.
26
-
27
-
28
- ### Thanks
29
-
30
- Thanks to the [JSConf Code of Conduct](http://jsconf.com/codeofconduct.html) and [Fedora Code of Conduct](http://fedoraproject.org/code-of-conduct) for inspiration and ideas. Additional thanks to [Contributor Covenant](http://contributor-covenant.org) for the [default code of conduct](https://github.com/bundler/bundler/blob/master/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt) included in generated gems.
31
-
32
-
33
- ### License
34
-
35
- <p class="license" xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
36
- To the extent possible under law, <a rel="dct:publisher" href="http://bundler.io">The Bundler Team</a> has waived all copyright and related or neighboring rights to the <span property="dct:title">Bundler Code of Conduct</span>. This work is published from the <span property="vcard:Country" datatype="dct:ISO3166" content="US" about="http://bundler.io">United States.</span>
37
- <br>
38
- <br>
39
- <a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
40
- <img src="http://i.creativecommons.org/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
41
- </a>
42
- </p>
data/CONTRIBUTING.md DELETED
@@ -1,36 +0,0 @@
1
- # Contributing
2
-
3
- Bundler welcomes contributions from *everyone*. While contributing, please follow the project [code of conduct](http://bundler.io/conduct.html), so that everyone can be included.
4
-
5
- If you'd like to help make Bundler better, you totally rock! Here are some ways you can contribute:
6
-
7
- - by using prerelease versions (run `gem install bundler --pre`)
8
- - by [reporting bugs you encounter or suggesting new features](https://github.com/bundler/bundler/issues/new)
9
- - by adding to or editing [the Bundler documentation website](http://bundler.io) and [Bundler man pages](http://bundler.io/man/bundle.1.html)
10
- - by [checking issues for completeness](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md#bug-triage)
11
- - by closing issues that are not complete
12
- - by adding a failing test for reproducible [reported bugs](https://github.com/bundler/bundler/issues)
13
- - by reviewing [pull requests](https://github.com/bundler/bundler/pulls) and suggesting improvements
14
- - by improving existing code, including suggestions from [PullReview](https://www.pullreview.com/github/bundler/bundler/reviews/master) or [CodeClimate](https://codeclimate.com/github/bundler/bundler)
15
- - by [writing code](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md) (no patch is too small! fix typos or bad whitespace)
16
- - by backfilling [unit tests](https://github.com/bundler/bundler/tree/master/spec/bundler) for modules that lack [coverage](https://codeclimate.com/github/bundler/bundler/coverage)
17
-
18
- If you need help getting started, check out the [DEVELOPMENT.md](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md) file for steps that will get you up and running.
19
-
20
- Thanks for helping us make Bundler better.
21
-
22
- # Roadmap
23
-
24
- If you're interested in reading some of the potential ideas or plans for Bundler, see the official Bundler [Trello Board](https://trello.com/b/DioUaKgx/bundler).
25
-
26
- # Troubleshooting
27
-
28
- If you're having a problem, please see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md) for troubleshooting steps and a guide for how to submit a ticket that will help us solve the problem you are having as quickly as possible.
29
-
30
- # Requesting Features
31
-
32
- Feel free to discuss your ideas or feature requests on any of the lists or channels listed below or [create an issue](https://github.com/bundler/bundler/issues/new) with the `feature-request` label. Feature-wise, we consider Bundler stable, so the core team does not tend to work on feature suggestions. Pull requests are welcome though!
33
-
34
- # Discussing Bundler
35
-
36
- If you'd like to discuss features, ask questions, or just engage in general Bundler-focused discussion, please see the [#bundler](irc://irc.freenode.net/#bundler) IRC channel on Freenode, and the [Bundler mailing list](http://groups.google.com/group/ruby-bundler) on Google Groups.
data/DEVELOPMENT.md DELETED
@@ -1,148 +0,0 @@
1
- Great to have you here! Here are a few ways you can help out with [Bundler](http://github.com/bundler/bundler).
2
-
3
- # Where should I start?
4
-
5
- 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). You can also check out discussions about Bundler on the [Bundler mailing list](https://groups.google.com/group/ruby-bundler) and in the [Bundler IRC channel](http://webchat.freenode.net/?channels=%23bundler), which is #bundler on Freenode. Please note that this project is released with a contributor [code of conduct](http://bundler.io/conduct.html). By participating in this project you agree to abide by its terms.
6
-
7
- ## Your first commits
8
-
9
- If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
10
-
11
- If you have any questions after reading this page, please feel free to contact either [@indirect](https://github.com/indirect), [@segiddins](https://github.com/segiddins), or [@RochesterinNYC](https://github.com/RochesterinNYC). They are all happy to provide help working through your first bug fix or thinking through the problem you’re trying to resolve.
12
-
13
- ## How you can help
14
-
15
- We track [small bugs and features](https://github.com/bundler/bundler/issues?labels=small) so that anyone who wants to help can start with something that's not too overwhelming. We also keep a [list of things anyone can help with, any time](https://github.com/bundler/bundler/blob/master/CONTRIBUTING.md#contributing). If nothing on those lists looks good, talk to us, 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.
16
-
17
- # Development setup
18
-
19
- 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.
20
-
21
- 1. Install `groff-base` and `graphviz` packages using your package manager, e.g for ubuntu
22
-
23
- $ sudo apt-get install graphviz groff-base -y
24
-
25
- and for OS X (with brew installed)
26
-
27
- $ brew install graphviz homebrew/dupes/groff
28
-
29
- 2. Install Bundler's development dependencies
30
-
31
- $ bin/rake spec:deps
32
-
33
- 3. Run the test suite, to make sure things are working
34
-
35
- $ bin/rake spec
36
-
37
- 4. Set up a shell alias to run Bundler from your clone, e.g. a Bash alias:
38
-
39
- $ alias dbundle='BUNDLE_DISABLE_POSTIT=1 ruby -I /path/to/bundler/lib /path/to/bundler/exe/bundle'
40
-
41
- The `BUNDLE_DISABLE_POSTIT` environment variable ensures that the version of Bundler in `/path/to/bundler/lib` will be used. Without that environment setting, Bundler will automatically download, install, and run the version of Bundler listed in `Gemfile.lock`. With that set up, you can test changes you've made to Bundler by running `dbundle`, without interfering with the regular `bundle` command.
42
-
43
- # Submitting Pull Requests
44
-
45
- Before you submit a pull request, please remember to do the following:
46
-
47
- - 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.
48
-
49
- $ bin/rubocop -a
50
-
51
- - Please run the test suite:
52
-
53
- $ bin/rspec
54
-
55
- - 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.
56
-
57
- - Ex. For a pull request that changes something with `bundle update`, you might run:
58
-
59
- $ bin/rspec spec/bundler
60
- $ bin/rspec spec/commands/update_spec.rb
61
-
62
- - Please ensure that the commit messages included in the pull request __do not__ have the following:
63
- - `@tag` Github user or team references (ex. `@indirect` or `@bundler/core`)
64
- - `#id` references to issues or pull requests (ex. `#43` or `bundler/bundler-site#12`)
65
-
66
- 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.
67
-
68
- - 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).
69
-
70
- # Bug triage
71
-
72
- Triage is the work of processing tickets that have been opened into actionable issues, feature requests, or bug reports. That includes verifying bugs, categorizing the ticket, and ensuring there's enough information to reproduce the bug for anyone who wants to try to fix it.
73
-
74
- We've created an [issues guide](https://github.com/bundler/bundler/blob/master/ISSUES.md) to walk Bundler users through the process of troubleshooting issues and reporting bugs.
75
-
76
- If you'd like to help, awesome! You can [report a new bug](https://github.com/bundler/bundler/issues/new) or browse our [existing open tickets](https://github.com/bundler/bundler/issues).
77
-
78
- Not every ticket will point to a bug in Bundler's code, but open tickets usually mean that there is something we could improve to help that user. Sometimes that means writing additional documentation, sometimes that means making error messages clearer, and sometimes that means explaining to a user that they need to install git to use git gems.
79
-
80
- When you're looking at a ticket, here are the main questions to ask:
81
-
82
- * Can I reproduce this bug myself?
83
- * Are the steps to reproduce clearly stated in the ticket?
84
- * Which versions of Bundler (1.1.x, 1.2.x, git, etc.) manifest this bug?
85
- * Which operating systems (OS X, Windows, Ubuntu, CentOS, etc.) manifest this bug?
86
- * Which rubies (MRI, JRuby, Rubinius, etc.) and which versions (1.8.7, 1.9.3, etc.) have this bug?
87
-
88
- If you can't reproduce an issue, chances are good that the bug has been fixed (hurrah!). That's a good time to post to the ticket explaining what you did and how it worked.
89
-
90
- If you can reproduce an issue, you're well on your way to fixing it. :) Fixing issues is similar to adding new features:
91
-
92
- 1. Discuss the fix on the existing issue. Coordinating with everyone else saves duplicate work and serves as a great way to get suggestions and ideas if you need any.
93
- 2. Base your commits on the correct branch. Bugfixes for 1.x versions of Bundler should be based on the matching 1-x-stable branch.
94
- 3. Commit the code and at least one test covering your changes to a named branch in your fork.
95
- 4. Put a line in the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md) summarizing your changes under the next release under the “Bugfixes” heading.
96
- 5. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your bugfix branch.
97
-
98
- Finally, the ticket may be a duplicate of another older ticket. If you notice a ticket is a duplicate, simply comment on the ticket noting the original ticket’s number. For example, you could say “This is a duplicate of issue #42, and can be closed”.
99
-
100
-
101
- # Adding New Features
102
-
103
- If you would like to add a new feature to Bundler, please follow these steps:
104
-
105
- 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.
106
- 2. Base your commits on the master branch, since we follow [SemVer](http://semver.org) and don't add new features to old releases.
107
- 3. Commit the code and at least one test covering your changes to a feature branch in your fork.
108
- 4. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your feature branch.
109
-
110
- 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.
111
-
112
-
113
- # Beta testing
114
-
115
- 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.
116
-
117
- 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.
118
-
119
-
120
- # Translations
121
-
122
- We don't currently have any translations, but please reach out to us if you would like to help get this going.
123
-
124
-
125
- # Documentation
126
-
127
- 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.
128
-
129
- Bundler has two main sources of documentation: the built-in help (including usage information and man pages) and the [Bundler documentation site](http://bundler.io).
130
-
131
- If you’d like to submit a patch to the man pages, follow the steps for submitting a pull request above. All of the man pages are located in the `man` directory. Just use the “Documentation” heading when you describe what you did in the changelog.
132
-
133
- 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.
134
-
135
-
136
- # Community
137
-
138
- Community is an important part of all we do. If you’d like to be part of the Bundler community, you can jump right in and start helping make Bundler better for everyone who uses it.
139
-
140
- It would be tremendously helpful to have more people answering questions about Bundler (and often simply about [Rubygems](https://github.com/rubygems/rubygems) or Ruby itself) in our [issue tracker](https://github.com/bundler/bundler/issues) or on [Stack Overflow](http://stackoverflow.com/questions/tagged/bundler).
141
-
142
- Additional documentation and explanation is always helpful, too. If you have any suggestions for the Bundler website [bundler.io](http://bundler.io), we would absolutely love it if you opened an issue or pull request on the [bundler-site](https://github.com/bundler/bundler-site) repository.
143
-
144
- Finally, sharing your experiences and discoveries by writing them up is a valuable way to help others who have similar problems or experiences in the future. You can write a blog post, create an example and commit it to Github, take screenshots, or make videos.
145
-
146
- Publishing examples of how Bundler is used helps everyone, and we’ve discovered that people already use it in ways that we never imagined when we were writing it. If you’re still not sure what to write about, there are also several projects doing interesting things based on Bundler. They could probably use publicity too.
147
-
148
- Finally, all contributors to the Bundler project must agree to the contributor [code of conduct](http://bundler.io/conduct.html). By participating in this project you agree to abide by its terms.