bundler 1.12.6 → 1.13.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +15 -13
  3. data/.travis.yml +2 -2
  4. data/CHANGELOG.md +40 -3
  5. data/CONTRIBUTING.md +9 -5
  6. data/DEVELOPMENT.md +30 -18
  7. data/ISSUES.md +26 -22
  8. data/Rakefile +15 -4
  9. data/bin/rubocop +1 -1
  10. data/bundler.gemspec +2 -2
  11. data/exe/bundle +7 -0
  12. data/lib/bundler.rb +6 -3
  13. data/lib/bundler/capistrano.rb +1 -1
  14. data/lib/bundler/cli.rb +27 -10
  15. data/lib/bundler/cli/binstubs.rb +2 -0
  16. data/lib/bundler/cli/exec.rb +1 -1
  17. data/lib/bundler/cli/install.rb +87 -56
  18. data/lib/bundler/cli/lock.rb +5 -0
  19. data/lib/bundler/cli/open.rb +3 -1
  20. data/lib/bundler/cli/outdated.rb +8 -8
  21. data/lib/bundler/cli/plugin.rb +23 -0
  22. data/lib/bundler/cli/update.rb +2 -2
  23. data/lib/bundler/cli/viz.rb +3 -0
  24. data/lib/bundler/definition.rb +72 -16
  25. data/lib/bundler/dsl.rb +19 -7
  26. data/lib/bundler/endpoint_specification.rb +2 -2
  27. data/lib/bundler/env.rb +2 -2
  28. data/lib/bundler/errors.rb +15 -1
  29. data/lib/bundler/fetcher.rb +5 -2
  30. data/lib/bundler/fetcher/compact_index.rb +2 -2
  31. data/lib/bundler/fetcher/dependency.rb +8 -4
  32. data/lib/bundler/fetcher/downloader.rb +1 -1
  33. data/lib/bundler/friendly_errors.rb +1 -1
  34. data/lib/bundler/index.rb +29 -36
  35. data/lib/bundler/inline.rb +14 -4
  36. data/lib/bundler/installer.rb +22 -3
  37. data/lib/bundler/installer/gem_installer.rb +1 -1
  38. data/lib/bundler/installer/standalone.rb +1 -1
  39. data/lib/bundler/mirror.rb +4 -4
  40. data/lib/bundler/plugin.rb +156 -0
  41. data/lib/bundler/plugin/api.rb +56 -0
  42. data/lib/bundler/plugin/dsl.rb +29 -0
  43. data/lib/bundler/plugin/index.rb +88 -0
  44. data/lib/bundler/plugin/installer.rb +99 -0
  45. data/lib/bundler/plugin/installer/git.rb +38 -0
  46. data/lib/bundler/plugin/installer/rubygems.rb +27 -0
  47. data/lib/bundler/plugin/source_list.rb +24 -0
  48. data/lib/bundler/postit_trampoline.rb +54 -0
  49. data/lib/bundler/psyched_yaml.rb +1 -1
  50. data/lib/bundler/remote_specification.rb +5 -5
  51. data/lib/bundler/resolver.rb +27 -29
  52. data/lib/bundler/ruby_version.rb +29 -3
  53. data/lib/bundler/rubygems_ext.rb +3 -1
  54. data/lib/bundler/rubygems_integration.rb +10 -4
  55. data/lib/bundler/runtime.rb +1 -16
  56. data/lib/bundler/settings.rb +19 -15
  57. data/lib/bundler/setup.rb +1 -0
  58. data/lib/bundler/shared_helpers.rb +3 -0
  59. data/lib/bundler/source.rb +4 -3
  60. data/lib/bundler/source/gemspec.rb +13 -0
  61. data/lib/bundler/source/git.rb +4 -3
  62. data/lib/bundler/source/git/git_proxy.rb +9 -5
  63. data/lib/bundler/source/path.rb +11 -2
  64. data/lib/bundler/source/rubygems.rb +28 -15
  65. data/lib/bundler/source_list.rb +5 -1
  66. data/lib/bundler/spec_set.rb +3 -3
  67. data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +21 -0
  68. data/lib/bundler/ssl_certs/rubygems.org/{AddTrustExternalCARoot-2048.pem → AddTrustExternalCARoot.pem} +0 -0
  69. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +54 -29
  70. data/lib/bundler/templates/newgem/newgem.gemspec.tt +5 -2
  71. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +3 -3
  72. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -2
  73. data/lib/bundler/ui/shell.rb +4 -0
  74. data/lib/bundler/ui/silent.rb +3 -0
  75. data/lib/bundler/uri_credentials_filter.rb +36 -0
  76. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +1 -1
  77. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +50 -0
  78. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +80 -0
  79. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +56 -144
  80. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +35 -0
  81. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +58 -0
  82. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +61 -0
  83. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +53 -0
  84. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +114 -0
  85. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +45 -0
  86. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +35 -0
  87. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +123 -0
  88. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  89. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +46 -51
  90. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +4 -2
  91. data/lib/bundler/vendor/postit/lib/postit.rb +15 -0
  92. data/lib/bundler/vendor/postit/lib/postit/environment.rb +44 -0
  93. data/lib/bundler/vendor/postit/lib/postit/installer.rb +28 -0
  94. data/lib/bundler/vendor/postit/lib/postit/parser.rb +21 -0
  95. data/lib/bundler/vendor/postit/lib/postit/setup.rb +12 -0
  96. data/lib/bundler/vendor/postit/lib/postit/version.rb +3 -0
  97. data/lib/bundler/version.rb +1 -1
  98. data/lib/bundler/vlad.rb +1 -1
  99. data/lib/bundler/yaml_serializer.rb +67 -0
  100. data/man/bundle-install.ronn +10 -5
  101. data/man/bundle-package.ronn +7 -6
  102. data/man/bundle-platform.ronn +1 -1
  103. data/man/bundle-update.ronn +5 -2
  104. data/man/bundle.ronn +5 -5
  105. data/man/gemfile.5.ronn +32 -28
  106. metadata +37 -12
  107. data/lib/bundler/ssl_certs/Fastly.pem +0 -82
  108. data/lib/bundler/ssl_certs/GlobalSignOrganizationValidationCA.pem +0 -26
  109. data/lib/bundler/ssl_certs/GlobalSignRoot.pem +0 -18
  110. data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRoot.pem +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c10825a6dd36d796dc657a6f8039afd96a38916
4
- data.tar.gz: f217a886e84362517e629c0b21f0df9b2f16d69a
3
+ metadata.gz: b53f9f6d4261f192e8a29fcd3dde588d2b60f1cb
4
+ data.tar.gz: c0d3f7377fcd4d3ceaf92c61adcbab5eef1c434d
5
5
  SHA512:
6
- metadata.gz: bf6f7073d9cbbc8e7b1bf3c4af411f8c5b4e6c858844d8e6af912b92a10f15429ca7bbf2a03873467abbd35030418187c85567da76b558889b85a10e1ae937b4
7
- data.tar.gz: 44847eb36667f9634b5874dad78b3bce84f827a6156d27dbc1c2fd5d6203bc1d1ee7dd6ca8a13f8d3f81990c9a38246b6ec19504df737fef4b37cd84e71ed026
6
+ metadata.gz: 954bf042fe84dce7a3e5bff018761240b3e5ae29da10960afcdf23da4139829b9f19f2d85b152a420bd73edcbe3606b2fef61cf661f7d647c1e7020cff21240b
7
+ data.tar.gz: 123e6cdb0d99b018add47043dfb45ec83ce78523a2a391eadaab15ba344b94ada9ec02be45b269ca18eb5e4861038b20149b770d21ca2715a20bf56c458a79ab
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2016-02-09 10:53:24 -0600 using RuboCop version 0.37.1.
3
+ # on 2016-03-29 17:34:30 -0500 using RuboCop version 0.39.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -52,7 +52,7 @@ Lint/UselessAssignment:
52
52
  - 'lib/bundler/index.rb'
53
53
  - 'lib/bundler/installer.rb'
54
54
 
55
- # Offense count: 1295
55
+ # Offense count: 1331
56
56
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
57
57
  # URISchemes: http, https
58
58
  Metrics/LineLength:
@@ -63,9 +63,9 @@ Metrics/LineLength:
63
63
  Metrics/ParameterLists:
64
64
  Max: 6
65
65
 
66
- # Offense count: 52
66
+ # Offense count: 55
67
67
  Metrics/PerceivedComplexity:
68
- Max: 54
68
+ Max: 51
69
69
 
70
70
  # Offense count: 6
71
71
  # Cop supports --auto-correct.
@@ -110,26 +110,24 @@ Style/CaseEquality:
110
110
  Style/ClassAndModuleChildren:
111
111
  Enabled: false
112
112
 
113
- # Offense count: 14
113
+ # Offense count: 11
114
114
  # Cop supports --auto-correct.
115
- # Configuration parameters: SingleLineConditionsOnly.
115
+ # Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
116
+ # SupportedStyles: assign_to_condition, assign_inside_condition
116
117
  Style/ConditionalAssignment:
117
118
  Exclude:
118
- - 'lib/bundler.rb'
119
119
  - 'lib/bundler/cli.rb'
120
120
  - 'lib/bundler/cli/gem.rb'
121
121
  - 'lib/bundler/cli/lock.rb'
122
- - 'lib/bundler/cli/outdated.rb'
123
122
  - 'lib/bundler/cli/platform.rb'
124
123
  - 'lib/bundler/dsl.rb'
125
124
  - 'lib/bundler/lazy_specification.rb'
126
- - 'lib/bundler/mirror.rb'
127
125
  - 'lib/bundler/psyched_yaml.rb'
128
126
  - 'lib/bundler/rubygems_integration.rb'
129
127
  - 'lib/bundler/source/git.rb'
130
128
  - 'lib/bundler/source/rubygems.rb'
131
129
 
132
- # Offense count: 118
130
+ # Offense count: 119
133
131
  Style/Documentation:
134
132
  Enabled: false
135
133
 
@@ -153,6 +151,11 @@ Style/IfInsideElse:
153
151
  Exclude:
154
152
  - 'lib/bundler/cli/install.rb'
155
153
 
154
+ # Offense count: 1
155
+ Style/IfUnlessModifierOfIfUnless:
156
+ Exclude:
157
+ - 'spec/support/helpers.rb'
158
+
156
159
  # Offense count: 4
157
160
  # Cop supports --auto-correct.
158
161
  # Configuration parameters: SupportedStyles, IndentationWidth.
@@ -173,11 +176,10 @@ Style/ModuleFunction:
173
176
  Style/MultilineMethodCallIndentation:
174
177
  Enabled: false
175
178
 
176
- # Offense count: 5
179
+ # Offense count: 4
177
180
  Style/NestedParenthesizedCalls:
178
181
  Exclude:
179
182
  - 'lib/bundler/resolver.rb'
180
- - 'spec/bundler/shared_helpers_spec.rb'
181
183
  - 'spec/commands/lock_spec.rb'
182
184
  - 'spec/runtime/setup_spec.rb'
183
185
 
@@ -195,7 +197,7 @@ Style/PredicateName:
195
197
  - 'lib/bundler/source/git/git_proxy.rb'
196
198
  - 'lib/bundler/source/path.rb'
197
199
 
198
- # Offense count: 23
200
+ # Offense count: 25
199
201
  # Configuration parameters: EnforcedStyle, SupportedStyles.
200
202
  # SupportedStyles: compact, exploded
201
203
  Style/RaiseArgs:
@@ -26,7 +26,7 @@ addons:
26
26
  secure: "TrzIv116JLGUxm6PAUskCYrv8KTDguncKROVwbnjVPKTGDAgoDderd8JUdDEXrKoZ9qGLD2TPYKExt9/QDl71E+qHdWnVqWv4HKCUk2P9z/VLKzHuggOUBkCXiJUhjywUieCJhI3N92bfq2EjSBbu2/OFHqWOjLQ+QCooTEBjv8="
27
27
 
28
28
  rvm:
29
- - 2.3.0
29
+ - 2.3.1
30
30
  - 2.2
31
31
  - 2.1
32
32
  - 2.0.0
@@ -39,7 +39,7 @@ env:
39
39
  # We need to know if changes to rubygems will break bundler on release
40
40
  - RGV=master
41
41
  # Test the latest rubygems release with all of our supported rubies
42
- - RGV=v2.6.1
42
+ - RGV=v2.6.4
43
43
  - RGV=v2.4.8
44
44
 
45
45
  matrix:
@@ -1,7 +1,44 @@
1
- ## 1.12.6 (2016-10-10)
1
+ ## 1.13.0.pre.1 (2016-06-20)
2
2
 
3
- Bugfixes:
4
- - add support for weak etags to the new index (@segiddins)
3
+ Performance:
4
+
5
+ - speed up gemfile resolution during `bundle install` by between 4x-100x (#4376, @segiddins)
6
+ - generally reduce object allocations when using bundler (@segiddins)
7
+ - speed up bin generation for path gems with many files (#2846, @segiddins)
8
+ - fix detecting path spec changes to avoid re-resolving unnecessarily (@jrafanie)
9
+
10
+ Features:
11
+
12
+ - automatically trampoline to the bundler version locked in the lockfile, only updating to the running version on `bundle update --bundler` (@segiddins)
13
+ - laying the groundwork for plugin support, which is currently unsuppported, undocumented, disabled by default, and liable to change without notice (@asutoshpalai)
14
+ - allow `bundle viz --without` to accept multiple `:`-delimited groups (@mobilutz)
15
+ - support for RubyGems 2.6.4 (#4368, @segiddins, @RochesterinNYC)
16
+ - colorize updated gem versions (#4334, @bronzdoc)
17
+ - add the `--standalone` flag to `bundle binstubs` (#4594, @b-ggs)
18
+ - update the `bundle gem` CoC to contributor covenant v1.4 (@cllns)
19
+ - use a custom YAML serializer to make config file consistent (@segiddins)
20
+ - filter credentials from error messages (bundler/bundler-features#111, @RochesterinNYC, @sandlerr)
21
+ - support relative paths used inside a nested invocation of `eval_gemfile` (#4584, @RochesterinNYC)
22
+ - fail gracefully when attempting to install a yanked gem (#4344, @allenzhao)
23
+ - automatically install an inline gemfile when gems are missing locally (@segiddins)
24
+ - allow conflicts for gems resolved via `gemspec` (@segiddins)
25
+ - add `--add-platform` option to `bundle lock` (@segiddins)
26
+ - fail gracefully when a resolved spec's `required_ruby_version` or `required_rubygems_version` is incompatible (@segiddins)
27
+
28
+ Bugfixes:
29
+
30
+ - implicitly unlock the resolved ruby version when the declared requirements in the gemfile are incompatible with the locked version (#4595, #4627, @segiddins)
31
+ - add support for quoted paths in `$PATH` (#4323, @segiddins)
32
+ - check out missing git repos that are not being installed (#3981, @asutoshpalai)
33
+ - write `bundler/setup.rb` to a consistent path (@glennpratt)
34
+ - open editor in `bundle open` with a clean environment (@sj26)
35
+ - resolve infinitely recursive copy when running `bundle package --all` with a `gemspec` in the gemfile (#4392, #4430, @RochesterinNYC)
36
+ - fail gracefully when encountering an `Errno::ENOTSUP` (#4394, @segiddins)
37
+ - fail gracefully when encountering an `Errno::EHOSTUNREACH` (#4642, @allenzhao)
38
+ - fix loading config files with very long values (#4370, @segiddins)
39
+ - only show potential updates for gemfile platforms in `bundle outdated` (#4450, @RochesterinNYC)
40
+ - allow running `bundle install --deployment` after `bundle package --all` with path gems (#2175, @allenzhao)
41
+ - add support for patchlevels in ruby versions in the gemfile and gemspecs (#4593, @chalkos)
5
42
 
6
43
  ## 1.12.5 (2016-05-25)
7
44
 
@@ -5,27 +5,31 @@ Bundler welcomes contributions from *everyone*. While contributing, please follo
5
5
  If you'd like to help make Bundler better, you totally rock! Here are some ways you can contribute:
6
6
 
7
7
  - by using prerelease versions (run `gem install bundler --pre`)
8
- - by [reporting bugs you encounter](https://github.com/bundler/bundler/issues/new)
9
- - by [suggesting new features](https://github.com/bundler/bundler-features/issues/new)
8
+ - by [reporting bugs you encounter or suggesting new features](https://github.com/bundler/bundler/issues/new)
10
9
  - by adding to or editing [the Bundler documentation website](http://bundler.io) and [Bundler man pages](http://bundler.io/man/bundle.1.html)
11
10
  - by [checking issues for completeness](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md#bug-triage)
12
11
  - by closing issues that are not complete
13
12
  - by adding a failing test for reproducible [reported bugs](https://github.com/bundler/bundler/issues)
14
13
  - by reviewing [pull requests](https://github.com/bundler/bundler/pulls) and suggesting improvements
15
- - by improving existing code, including [suggestions from PullReview](https://www.pullreview.com/github/bundler/bundler/reviews/master)
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)
16
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
17
 
18
- If you need help getting started, check out the [DEVELOPMENT](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md) file for steps that will get you up and running.
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
19
 
20
20
  Thanks for helping us make Bundler better.
21
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
+
22
26
  # Troubleshooting
23
27
 
24
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.
25
29
 
26
30
  # Requesting Features
27
31
 
28
- Head on over to the [Bundler features](https://github.com/bundler/bundler-features) project, or any of the lists or channels listed below. Feature-wise we consider Bundler stable, so the core team does not tend to work on feature suggestions. Pull requests welcome though!
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!
29
33
 
30
34
  # Discussing Bundler
31
35
 
@@ -8,26 +8,33 @@ You can start learning about Bundler by reading [the documentation](http://bundl
8
8
 
9
9
  If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
10
10
 
11
- If you have any questions after reading this page, please feel free to contact either [@indirect](http://github.com/indirect) or [@hone](http://github.com/hone). They are both happy to provide help working through your first bugfix or thinking through the problem you’re trying to resolve.
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
12
 
13
13
  ## How you can help
14
14
 
15
- We track [small
16
- bugs](https://github.com/bundler/bundler/issues?labels=small&state=open) and [small features](https://github.com/bundler/bundler-features/issues?labels=small&state=open) 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.
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.
17
16
 
18
17
  # Development setup
19
18
 
20
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.
21
20
 
22
- 1. Install Bundler's development dependencies
21
+ 1. Install `groff-base` and `graphviz` packages using your package manager, e.g for ubuntu
23
22
 
24
- $ rake spec:deps
23
+ $ sudo apt-get install graphviz groff-base -y
25
24
 
26
- 2. Run the test suite, to make sure things are working
25
+ and for OS X (with brew installed)
27
26
 
28
- $ rake spec
27
+ $ brew install graphviz homebrew/dupes/groff
29
28
 
30
- 3. Set up a shell alias to run Bundler from your clone, e.g. a Bash alias:
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:
31
38
 
32
39
  $ alias dbundle='ruby -I /path/to/bundler/lib /path/to/bundler/exe/bundle'
33
40
 
@@ -52,6 +59,14 @@ Before you submit a pull request, please remember to do the following:
52
59
  $ bin/rspec spec/bundler
53
60
  $ bin/rspec spec/commands/update_spec.rb
54
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
+
55
70
  # Bug triage
56
71
 
57
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.
@@ -83,15 +98,14 @@ If you can reproduce an issue, you're well on your way to fixing it. :) Fixing i
83
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”.
84
99
 
85
100
 
86
- # Adding new features
101
+ # Adding New Features
87
102
 
88
103
  If you would like to add a new feature to Bundler, please follow these steps:
89
104
 
90
- 1. [Create an issue](https://github.com/bundler/bundler-features/issues/new) in the bundler-features repo to discuss your feature.
105
+ 1. [Create an issue](https://github.com/bundler/bundler/issues/new) with the [`feature-request` label](https://github.com/bundler/bundler/labels/feature-request) to discuss your feature.
91
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.
92
107
  3. Commit the code and at least one test covering your changes to a feature branch in your fork.
93
- 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 "Features" heading.
94
- 5. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your feature branch.
108
+ 4. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your feature branch.
95
109
 
96
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.
97
111
 
@@ -114,7 +128,7 @@ Code needs explanation, and sometimes those who know the code well have trouble
114
128
 
115
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).
116
130
 
117
- If you’d like to submit a patch to the man pages, follow the steps for adding a feature 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.
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.
118
132
 
119
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.
120
134
 
@@ -123,14 +137,12 @@ If you have a suggestion or proposed change for [bundler.io](http://bundler.io),
123
137
 
124
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.
125
139
 
126
- It would be tremendously helpful to have more people answering questions about Bundler (and often simply about Rubygems or Ruby itself) in our [issue tracker](https://github.com/bundler/bundler/issues) or on [Stack Overflow](http://stackoverflow.com/questions/tagged/bundler).
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).
127
141
 
128
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.
129
143
 
130
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.
131
145
 
132
- Examples of how Bundler is used help 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.
133
-
134
- If you let someone on the core team know you wrote about Bundler, we will add your post to the list of Bundler resources on the Github project wiki.
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.
135
147
 
136
- Finally, participate carefully in the 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.
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.
data/ISSUES.md CHANGED
@@ -2,52 +2,57 @@
2
2
 
3
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
4
 
5
- **Please use the [Bundler
6
- Features](https://github.com/bundler/bundler-features) repo to suggest and
7
- discuss features. The bundler issue tracker is only for bugs.**
8
-
9
5
  ## Documentation
10
6
 
11
7
  Instructions for common Bundler uses can be found on the [Bundler documentation site](http://bundler.io/).
12
8
 
13
- 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).
9
+ 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).
14
10
 
15
11
  ## Troubleshooting
16
12
 
17
13
  ### Heroku errors
18
14
 
19
- Please open a ticket with Heroku if you're having trouble deploying. They have a professional support team who can help you resolve Heroku issues far better than the Bundler team can. If the problem that you are having turns out to be a bug in Bundler itself, Heroku support can get the exact details to us.
15
+ Please open a ticket with [Heroku](https://www.heroku.com) if you're having trouble deploying. They have a professional support team who can help you resolve Heroku issues far better than the Bundler team can. If the problem that you are having turns out to be a bug in Bundler itself, [Heroku support](https://www.heroku.com/support) can get the exact details to us.
20
16
 
21
17
  ### Other problems
22
18
 
23
- First, figure out exactly what it is that you're trying to do. Then, go to the [Bundler documentation website](http://bundler.io) and see if we have instructions on how to do that.
19
+ First, figure out exactly what it is that you're trying to do (see [XY Problem](http://xyproblem.info/)). Then, go to the [Bundler documentation website](http://bundler.io) and see if we have instructions on how to do that.
24
20
 
25
21
  Second, check [the compatibility
26
22
  list](http://bundler.io/compatibility.html), and make sure that the version of Bundler that you are
27
- using works with the versions of Ruby and Rubygems that you are using.
23
+ using works with the versions of Ruby and Rubygems that you are using. To see your versions:
24
+
25
+ # Bundler version
26
+ bundle -v
27
+
28
+ # Ruby version
29
+ ruby -v
28
30
 
29
- If the instructions don't work, or you can't find any instructions, you can try these troubleshooting steps:
31
+ # Rubygems version
32
+ gem -v
30
33
 
31
- # remove user-specific gems and git repos
34
+ If these instructions don't work, or you can't find any appropriate instructions, you can try these troubleshooting steps:
35
+
36
+ # Remove user-specific gems and git repos
32
37
  rm -rf ~/.bundle/ ~/.gem/bundler/ ~/.gems/cache/bundler/
33
38
 
34
- # remove system-wide git repos and git checkouts
39
+ # Remove system-wide git repos and git checkouts
35
40
  rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/
36
41
 
37
- # remove project-specific settings
42
+ # Remove project-specific settings
38
43
  rm -rf .bundle/
39
44
 
40
- # remove project-specific cached gems and repos
45
+ # Remove project-specific cached gems and repos
41
46
  rm -rf vendor/cache/
42
47
 
43
- # remove the saved resolve of the Gemfile
48
+ # Remove the saved resolve of the Gemfile
44
49
  rm -rf Gemfile.lock
45
50
 
46
- # uninstall the rubygems-bundler and open_gem gems
51
+ # Uninstall the rubygems-bundler and open_gem gems
47
52
  rvm gemset use global # if using rvm
48
53
  gem uninstall rubygems-bundler open_gem
49
54
 
50
- # try to install one more time
55
+ # Try to install one more time
51
56
  bundle install
52
57
 
53
58
  ## Reporting unresolved problems
@@ -72,8 +77,8 @@ If you are unable to do that, please include the following information in your r
72
77
 
73
78
  If your version of Bundler does not have the `bundle env` command, then please include:
74
79
 
75
- - Your Gemfile
76
- - Your Gemfile.lock
80
+ - Your `Gemfile`
81
+ - Your `Gemfile.lock`
77
82
  - Your Bundler configuration settings (run `bundle config`)
78
83
  - What version of bundler you are using (run `bundle -v`)
79
84
  - What version of Ruby you are using (run `ruby -v`)
@@ -84,10 +89,9 @@ If your version of Bundler does not have the `bundle env` command, then please i
84
89
 
85
90
  If you are using Rails 2.3, please also include:
86
91
 
87
- - Your boot.rb file
88
- - Your preinitializer.rb file
89
- - Your environment.rb file
90
-
92
+ - Your `boot.rb` file
93
+ - Your `preinitializer.rb` file
94
+ - Your `environment.rb` file
91
95
 
92
96
  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.
93
97
 
data/Rakefile CHANGED
@@ -34,7 +34,7 @@ namespace :spec do
34
34
  deps = Hash[BUNDLER_SPEC.development_dependencies.map do |d|
35
35
  [d.name, d.requirement.to_s]
36
36
  end]
37
- deps["rubocop"] ||= "= 0.37.1" if RUBY_VERSION >= "1.9.3" # can't go in the gemspec because of the ruby version requirement
37
+ deps["rubocop"] ||= "= 0.39.0" if RUBY_VERSION >= "1.9.3" # can't go in the gemspec because of the ruby version requirement
38
38
 
39
39
  # JRuby can't build ronn or rdiscount, so we skip that
40
40
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
@@ -65,7 +65,7 @@ namespace :spec do
65
65
  sh "sudo apt-get install graphviz -y 2>&1 | tail -n 2"
66
66
 
67
67
  # Install the gems with a consistent version of RubyGems
68
- sh "gem update --system 2.6.1"
68
+ sh "gem update --system 2.6.4"
69
69
 
70
70
  $LOAD_PATH.unshift("./spec")
71
71
  require "support/rubygems_ext"
@@ -88,7 +88,7 @@ begin
88
88
 
89
89
  if RUBY_VERSION >= "1.9.3"
90
90
  # can't go in the gemspec because of the ruby version requirement
91
- gem "rubocop", "= 0.37.1"
91
+ gem "rubocop", "= 0.39.0"
92
92
  require "rubocop/rake_task"
93
93
  RuboCop::RakeTask.new
94
94
  end
@@ -122,7 +122,7 @@ begin
122
122
  rubyopt = ENV["RUBYOPT"]
123
123
  # When editing this list, also edit .travis.yml!
124
124
  branches = %w(master)
125
- releases = %w(v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.29 v2.0.14 v2.1.11 v2.2.5 v2.4.8 v2.6.1)
125
+ releases = %w(v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.29 v2.0.14 v2.1.11 v2.2.5 v2.4.8 v2.6.4)
126
126
  (branches + releases).each do |rg|
127
127
  desc "Run specs with Rubygems #{rg}"
128
128
  RSpec::Core::RakeTask.new(rg) do |t|
@@ -296,10 +296,21 @@ begin
296
296
  lib.prefix = "Bundler"
297
297
  lib.vendor_lib = "lib/bundler/vendor/thor"
298
298
  end
299
+
300
+ Automatiek::RakeTask.new("postit") do |lib|
301
+ lib.download = { :github => "https://github.com/bundler/postit" }
302
+ lib.namespace = "PostIt"
303
+ lib.vendor_lib = "lib/bundler/vendor/postit"
304
+
305
+ def lib.namespace_files
306
+ process_files(namespace, "BundlerVendoredPostIt")
307
+ end
308
+ end
299
309
  rescue LoadError
300
310
  namespace :vendor do
301
311
  task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
302
312
  task(:thor) { abort "Install the automatiek gem to be able to vendor gems." }
313
+ task(:postit) { abort "Install the automatiek gem to be able to vendor gems." }
303
314
  end
304
315
  end
305
316