bundler 1.13.7 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop_todo.yml +100 -18
  4. data/.travis.yml +32 -18
  5. data/CHANGELOG.md +81 -2
  6. data/DEVELOPMENT.md +5 -3
  7. data/ISSUES.md +17 -0
  8. data/README.md +7 -0
  9. data/Rakefile +34 -23
  10. data/bin/rubocop +1 -1
  11. data/bundler.gemspec +9 -2
  12. data/exe/bundle +4 -6
  13. data/lib/bundler/cli/binstubs.rb +1 -1
  14. data/lib/bundler/cli/cache.rb +1 -1
  15. data/lib/bundler/cli/check.rb +2 -2
  16. data/lib/bundler/cli/clean.rb +1 -1
  17. data/lib/bundler/cli/common.rb +30 -0
  18. data/lib/bundler/cli/doctor.rb +17 -19
  19. data/lib/bundler/cli/exec.rb +6 -0
  20. data/lib/bundler/cli/gem.rb +18 -4
  21. data/lib/bundler/cli/install.rb +9 -25
  22. data/lib/bundler/cli/lock.rb +8 -7
  23. data/lib/bundler/cli/open.rb +2 -1
  24. data/lib/bundler/cli/outdated.rb +163 -56
  25. data/lib/bundler/cli/platform.rb +1 -1
  26. data/lib/bundler/cli/show.rb +1 -1
  27. data/lib/bundler/cli/update.rb +10 -23
  28. data/lib/bundler/cli.rb +75 -40
  29. data/lib/bundler/compact_index_client/cache.rb +119 -0
  30. data/lib/bundler/compact_index_client/updater.rb +88 -0
  31. data/lib/bundler/compact_index_client.rb +108 -0
  32. data/lib/bundler/current_ruby.rb +4 -3
  33. data/lib/bundler/definition.rb +107 -17
  34. data/lib/bundler/dependency.rb +6 -0
  35. data/lib/bundler/dsl.rb +3 -2
  36. data/lib/bundler/env.rb +27 -18
  37. data/lib/bundler/errors.rb +22 -0
  38. data/lib/bundler/feature_flag.rb +32 -0
  39. data/lib/bundler/fetcher/compact_index.rb +17 -5
  40. data/lib/bundler/fetcher/dependency.rb +1 -1
  41. data/lib/bundler/fetcher/downloader.rb +11 -0
  42. data/lib/bundler/fetcher.rb +2 -2
  43. data/lib/bundler/friendly_errors.rb +28 -7
  44. data/lib/bundler/gem_helper.rb +1 -1
  45. data/lib/bundler/gem_helpers.rb +69 -1
  46. data/lib/bundler/gemdeps.rb +28 -0
  47. data/lib/bundler/index.rb +9 -4
  48. data/lib/bundler/inline.rb +4 -4
  49. data/lib/bundler/installer/gem_installer.rb +2 -2
  50. data/lib/bundler/installer/parallel_installer.rb +40 -9
  51. data/lib/bundler/installer.rb +3 -2
  52. data/lib/bundler/lazy_specification.rb +16 -1
  53. data/lib/bundler/lockfile_parser.rb +1 -2
  54. data/lib/bundler/match_platform.rb +12 -3
  55. data/lib/bundler/plugin/api/source.rb +1 -1
  56. data/lib/bundler/plugin/api.rb +2 -1
  57. data/lib/bundler/plugin.rb +4 -2
  58. data/lib/bundler/postit_trampoline.rb +12 -7
  59. data/lib/bundler/remote_specification.rb +5 -0
  60. data/lib/bundler/resolver.rb +59 -49
  61. data/lib/bundler/retry.rb +4 -1
  62. data/lib/bundler/ruby_version.rb +5 -0
  63. data/lib/bundler/rubygems_ext.rb +5 -0
  64. data/lib/bundler/rubygems_gem_installer.rb +60 -0
  65. data/lib/bundler/rubygems_integration.rb +28 -2
  66. data/lib/bundler/runtime.rb +2 -1
  67. data/lib/bundler/settings.rb +32 -5
  68. data/lib/bundler/setup.rb +1 -1
  69. data/lib/bundler/shared_helpers.rb +26 -15
  70. data/lib/bundler/source/git/git_proxy.rb +7 -1
  71. data/lib/bundler/source/git.rb +1 -1
  72. data/lib/bundler/source/path.rb +6 -1
  73. data/lib/bundler/source/rubygems.rb +11 -1
  74. data/lib/bundler/source.rb +5 -0
  75. data/lib/bundler/spec_set.rb +32 -13
  76. data/lib/bundler/templates/newgem/README.md.tt +1 -1
  77. data/lib/bundler/templates/newgem/bin/console.tt +1 -1
  78. data/lib/bundler/templates/newgem/gitignore.tt +5 -0
  79. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -1
  80. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +10 -1
  81. data/lib/bundler/ui/shell.rb +4 -0
  82. data/lib/bundler/ui/silent.rb +9 -0
  83. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +1 -1
  84. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -2
  85. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -2
  86. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +62 -0
  87. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +10 -3
  88. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +12 -1
  89. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -2
  90. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  91. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +2 -0
  92. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +10 -1
  93. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  94. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +27 -19
  95. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
  96. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
  97. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +24 -23
  98. data/lib/bundler/vendored_persistent.rb +9 -4
  99. data/lib/bundler/version.rb +1 -1
  100. data/lib/bundler/worker.rb +27 -5
  101. data/lib/bundler/yaml_serializer.rb +1 -1
  102. data/lib/bundler.rb +58 -8
  103. data/{lib/bundler/man/bundle-config → man/bundle-config.1} +51 -3
  104. data/{lib/bundler/man/bundle-config.txt → man/bundle-config.1.txt} +67 -24
  105. data/man/bundle-config.ronn +29 -2
  106. data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +1 -1
  107. data/{lib/bundler/man/bundle-exec.txt → man/bundle-exec.1.txt} +1 -1
  108. data/{lib/bundler/man/bundle-install → man/bundle-install.1} +2 -2
  109. data/{lib/bundler/man/bundle-install.txt → man/bundle-install.1.txt} +2 -2
  110. data/man/bundle-install.ronn +1 -1
  111. data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
  112. data/man/bundle-lock.1.txt +93 -0
  113. data/man/bundle-lock.ronn +47 -0
  114. data/man/bundle-outdated.1 +151 -0
  115. data/man/bundle-outdated.1.txt +127 -0
  116. data/man/bundle-outdated.ronn +107 -0
  117. data/{lib/bundler/man/bundle-update → man/bundle-update.1} +168 -3
  118. data/{lib/bundler/man/bundle-update.txt → man/bundle-update.1.txt} +162 -5
  119. data/man/bundle-update.ronn +152 -3
  120. data/{lib/bundler/man/bundle → man/bundle.1} +19 -10
  121. data/{lib/bundler/man/bundle.txt → man/bundle.1.txt} +28 -10
  122. data/man/bundle.ronn +27 -9
  123. data/{lib/bundler/man → man}/gemfile.5 +17 -1
  124. data/man/gemfile.5.ronn +8 -0
  125. data/{lib/bundler/man → man}/gemfile.5.txt +12 -1
  126. metadata +40 -32
  127. data/lib/bundler/man/bundle-lock.txt +0 -52
  128. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
  129. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
  130. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
  131. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
  132. /data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +0 -0
  133. /data/{lib/bundler/man/bundle-binstubs.txt → man/bundle-binstubs.1.txt} +0 -0
  134. /data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +0 -0
  135. /data/{lib/bundler/man/bundle-gem.txt → man/bundle-gem.1.txt} +0 -0
  136. /data/{lib/bundler/man/bundle-package → man/bundle-package.1} +0 -0
  137. /data/{lib/bundler/man/bundle-package.txt → man/bundle-package.1.txt} +0 -0
  138. /data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +0 -0
  139. /data/{lib/bundler/man/bundle-platform.txt → man/bundle-platform.1.txt} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 917c871afe7de2fbbfcc0e0a8181025aa76a134d
4
- data.tar.gz: 30a806e961d33a9c8e02a0d2466f9697982138e7
3
+ metadata.gz: 9fd205fc1cb2fcb2aa0ae6f4d14ee1d6ebc1a5c1
4
+ data.tar.gz: 56d68ae2bd26d45a34181835181595f44b043746
5
5
  SHA512:
6
- metadata.gz: 8eb69a4cb6714426aa8c18963e94a8bba44820b0e1c83041cb460361287f59ea3e2f4087c4ceacd36500ce0d9b3ed72e718cf4f9ee2da119b148b7fdf0046cc1
7
- data.tar.gz: 4a781a0b5e880e60f37174880adc36181bce9700a12deb29f938aecc53eff315e8ba6fadc7ce3024f706cdce7fe6ccdf14bb068495fbc806c10681c4a1733bcd
6
+ metadata.gz: 0572fe44979b1cf17f839a2d9985908016d8396d3b93fff5e2ed26ed47ee4205f81a1b82137aff6362f8f396a66868c605ee4e392c15eb5665b12059eb264892
7
+ data.tar.gz: 57682341e70a82c295e421412cada7890cf4fb54b8ae218c5f999062574e833e43665c79adde8846d5540fb3ccf2e6c2784058a2ef24f2a9b0d2d84f891e961d
data/.gitignore CHANGED
@@ -11,6 +11,8 @@
11
11
 
12
12
  # output from ronn
13
13
  /lib/bundler/man/
14
+ man/*
15
+ !man/*.ronn
14
16
 
15
17
  # rspec failure tracking
16
18
  .rspec_status
data/.rubocop_todo.yml CHANGED
@@ -1,11 +1,17 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2016-07-27 12:41:39 -0500 using RuboCop version 0.41.2.
3
+ # on 2016-11-19 11:43:45 -0600 using RuboCop version 0.45.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
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 2
10
+ Lint/EmptyWhen:
11
+ Exclude:
12
+ - 'lib/bundler/friendly_errors.rb'
13
+ - 'spec/support/builders.rb'
14
+
9
15
  # Offense count: 4
10
16
  Lint/Eval:
11
17
  Exclude:
@@ -41,6 +47,7 @@ Lint/RescueException:
41
47
  - 'lib/bundler/worker.rb'
42
48
 
43
49
  # Offense count: 1
50
+ # Configuration parameters: ContextCreatingMethods.
44
51
  Lint/UselessAccessModifier:
45
52
  Exclude:
46
53
  - 'lib/bundler/fetcher.rb'
@@ -51,17 +58,17 @@ Lint/UselessAssignment:
51
58
  - 'lib/bundler/index.rb'
52
59
  - 'lib/bundler/installer.rb'
53
60
 
54
- # Offense count: 1686
55
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
61
+ # Offense count: 7
62
+ # Configuration parameters: CountComments.
63
+ Metrics/BlockLength:
64
+ Max: 46
65
+
66
+ # Offense count: 1855
67
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives.
56
68
  # URISchemes: http, https
57
69
  Metrics/LineLength:
58
70
  Max: 207
59
71
 
60
- # Offense count: 3
61
- # Configuration parameters: CountKeywordArgs.
62
- Metrics/ParameterLists:
63
- Max: 6
64
-
65
72
  # Offense count: 6
66
73
  # Cop supports --auto-correct.
67
74
  Performance/RedundantBlockCall:
@@ -79,20 +86,19 @@ Performance/RedundantMatch:
79
86
  - 'lib/bundler/definition.rb'
80
87
  - 'lib/bundler/lockfile_parser.rb'
81
88
 
82
- # Offense count: 6
89
+ # Offense count: 5
83
90
  # Cop supports --auto-correct.
84
91
  # Configuration parameters: MaxKeyValuePairs.
85
92
  Performance/RedundantMerge:
86
93
  Exclude:
87
94
  - 'lib/bundler/cli/gem.rb'
88
- - 'spec/support/helpers.rb'
89
95
 
90
96
  # Offense count: 1
91
97
  Style/AccessorMethodName:
92
98
  Exclude:
93
99
  - 'lib/bundler/source/git.rb'
94
100
 
95
- # Offense count: 3
101
+ # Offense count: 4
96
102
  Style/CaseEquality:
97
103
  Exclude:
98
104
  - 'lib/bundler/dsl.rb'
@@ -105,7 +111,7 @@ Style/CaseEquality:
105
111
  Style/ClassAndModuleChildren:
106
112
  Enabled: false
107
113
 
108
- # Offense count: 10
114
+ # Offense count: 9
109
115
  # Cop supports --auto-correct.
110
116
  # Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
111
117
  # SupportedStyles: assign_to_condition, assign_inside_condition
@@ -113,7 +119,6 @@ Style/ConditionalAssignment:
113
119
  Exclude:
114
120
  - 'lib/bundler/cli.rb'
115
121
  - 'lib/bundler/cli/gem.rb'
116
- - 'lib/bundler/cli/lock.rb'
117
122
  - 'lib/bundler/cli/platform.rb'
118
123
  - 'lib/bundler/dsl.rb'
119
124
  - 'lib/bundler/lazy_specification.rb'
@@ -122,7 +127,7 @@ Style/ConditionalAssignment:
122
127
  - 'lib/bundler/source/git.rb'
123
128
  - 'lib/bundler/source/rubygems.rb'
124
129
 
125
- # Offense count: 138
130
+ # Offense count: 148
126
131
  Style/Documentation:
127
132
  Enabled: false
128
133
 
@@ -133,13 +138,32 @@ Style/ExtraSpacing:
133
138
  Exclude:
134
139
  - 'lib/bundler/cli.rb'
135
140
 
136
- # Offense count: 4
141
+ # Offense count: 2
137
142
  # Configuration parameters: AllowedVariables.
138
143
  Style/GlobalVars:
139
144
  Exclude:
140
145
  - 'lib/bundler/cli.rb'
141
146
  - 'spec/spec_helper.rb'
142
- - 'spec/support/helpers.rb'
147
+
148
+ # Offense count: 19
149
+ # Configuration parameters: MinBodyLength.
150
+ Style/GuardClause:
151
+ Exclude:
152
+ - 'lib/bundler/cli/cache.rb'
153
+ - 'lib/bundler/cli/clean.rb'
154
+ - 'lib/bundler/cli/install.rb'
155
+ - 'lib/bundler/cli/outdated.rb'
156
+ - 'lib/bundler/cli/package.rb'
157
+ - 'lib/bundler/definition.rb'
158
+ - 'lib/bundler/dsl.rb'
159
+ - 'lib/bundler/installer.rb'
160
+ - 'lib/bundler/lockfile_parser.rb'
161
+ - 'lib/bundler/runtime.rb'
162
+ - 'lib/bundler/shared_helpers.rb'
163
+ - 'lib/bundler/source/path/installer.rb'
164
+ - 'lib/bundler/source_list.rb'
165
+ - 'spec/commands/newgem_spec.rb'
166
+ - 'spec/support/sometimes.rb'
143
167
 
144
168
  # Offense count: 1
145
169
  Style/IfInsideElse:
@@ -151,13 +175,23 @@ Style/IfUnlessModifierOfIfUnless:
151
175
  Exclude:
152
176
  - 'spec/support/helpers.rb'
153
177
 
154
- # Offense count: 4
178
+ # Offense count: 10
155
179
  # Cop supports --auto-correct.
156
180
  # Configuration parameters: SupportedStyles, IndentationWidth.
157
181
  # SupportedStyles: special_inside_parentheses, consistent, align_brackets
158
182
  Style/IndentArray:
159
183
  EnforcedStyle: consistent
160
184
 
185
+ # Offense count: 6
186
+ Style/MethodMissing:
187
+ Exclude:
188
+ - 'lib/bundler/dep_proxy.rb'
189
+ - 'lib/bundler/dsl.rb'
190
+ - 'lib/bundler/lazy_specification.rb'
191
+ - 'lib/bundler/plugin/dsl.rb'
192
+ - 'lib/bundler/remote_specification.rb'
193
+ - 'spec/support/builders.rb'
194
+
161
195
  # Offense count: 2
162
196
  # Configuration parameters: EnforcedStyle, SupportedStyles.
163
197
  # SupportedStyles: module_function, extend_self
@@ -166,6 +200,17 @@ Style/ModuleFunction:
166
200
  - 'lib/bundler/shared_helpers.rb'
167
201
  - 'spec/support/path.rb'
168
202
 
203
+ # Offense count: 11
204
+ # Cop supports --auto-correct.
205
+ Style/MultilineIfModifier:
206
+ Exclude:
207
+ - 'bin/with_rubygems'
208
+ - 'lib/bundler/installer.rb'
209
+ - 'lib/bundler/psyched_yaml.rb'
210
+ - 'lib/bundler/rubygems_ext.rb'
211
+ - 'lib/bundler/runtime.rb'
212
+ - 'lib/bundler/source/rubygems.rb'
213
+
169
214
  # Offense count: 3
170
215
  # Cop supports --auto-correct.
171
216
  # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
@@ -183,6 +228,18 @@ Style/NestedParenthesizedCalls:
183
228
  - 'spec/commands/lock_spec.rb'
184
229
  - 'spec/runtime/setup_spec.rb'
185
230
 
231
+ # Offense count: 6
232
+ # Cop supports --auto-correct.
233
+ # Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
234
+ # SupportedStyles: predicate, comparison
235
+ Style/NumericPredicate:
236
+ Exclude:
237
+ - 'spec/**/*'
238
+ - 'lib/bundler/gem_helper.rb'
239
+ - 'lib/bundler/mirror.rb'
240
+ - 'lib/bundler/source/git/git_proxy.rb'
241
+ - 'lib/bundler/source/path.rb'
242
+
186
243
  # Offense count: 9
187
244
  # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
188
245
  # NamePrefix: is_, has_, have_
@@ -219,6 +276,23 @@ Style/SpaceAroundOperators:
219
276
  Exclude:
220
277
  - 'lib/bundler/retry.rb'
221
278
 
279
+ # Offense count: 1
280
+ # Cop supports --auto-correct.
281
+ # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
282
+ # SupportedStyles: space, no_space
283
+ Style/SpaceInsideBlockBraces:
284
+ Exclude:
285
+ - 'lib/bundler/installer/parallel_installer.rb'
286
+
287
+ # Offense count: 2
288
+ # Cop supports --auto-correct.
289
+ # Configuration parameters: EnforcedStyle, SupportedStyles, AllowSafeAssignment.
290
+ # SupportedStyles: require_parentheses, require_no_parentheses
291
+ Style/TernaryParentheses:
292
+ Exclude:
293
+ - 'lib/bundler/cli/common.rb'
294
+ - 'lib/bundler/gem_version_promoter.rb'
295
+
222
296
  # Offense count: 10
223
297
  # Cop supports --auto-correct.
224
298
  # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
@@ -245,4 +319,12 @@ Style/UnneededInterpolation:
245
319
  - 'spec/commands/exec_spec.rb'
246
320
  - 'spec/support/artifice/endpoint.rb'
247
321
  - 'spec/support/artifice/endpoint_500.rb'
248
- - 'spec/support/fakeweb/windows.rb'
322
+
323
+ # Offense count: 2
324
+ # Configuration parameters: SupportedStyles.
325
+ # SupportedStyles: snake_case, normalcase, non_integer
326
+ Style/VariableNumber:
327
+ EnforcedStyle: normalcase
328
+ Exclude:
329
+ - 'spec/commands/help_spec.rb'
330
+ - 'spec/other/ext_spec.rb'
data/.travis.yml CHANGED
@@ -13,11 +13,6 @@ branches:
13
13
  - /.+-stable$/
14
14
 
15
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
16
  slack:
22
17
  on_success: change
23
18
  on_failure: always
@@ -30,9 +25,10 @@ addons:
30
25
  secure: "TrzIv116JLGUxm6PAUskCYrv8KTDguncKROVwbnjVPKTGDAgoDderd8JUdDEXrKoZ9qGLD2TPYKExt9/QDl71E+qHdWnVqWv4HKCUk2P9z/VLKzHuggOUBkCXiJUhjywUieCJhI3N92bfq2EjSBbu2/OFHqWOjLQ+QCooTEBjv8="
31
26
 
32
27
  rvm:
33
- - 2.3.1
34
- - 2.2
35
- - 2.1
28
+ - 2.4.0
29
+ - 2.3.3
30
+ - 2.2.6
31
+ - 2.1.9
36
32
  - 2.0.0
37
33
  - 1.9.3
38
34
  - 1.8.7
@@ -43,14 +39,19 @@ env:
43
39
  # We need to know if changes to rubygems will break bundler on release
44
40
  - RGV=master
45
41
  # Test the latest rubygems release with all of our supported rubies
46
- - RGV=v2.6.4
47
- - RGV=v2.4.8
42
+ - RGV=v2.6.8
48
43
 
49
44
  matrix:
50
45
  include:
51
- # Ruby 2.2, Rubygems 2.4.5 and up (included by RGV above)
46
+ # Ruby 2.4, Rubygems 2.6.8 and up
47
+ # Ruby 2.3, Rubygems 2.5.1 and up
48
+ - rvm: 2.2.6
49
+ env: RGV=v2.5.2
50
+ # Ruby 2.2, Rubygems 2.4.5 and up
51
+ - rvm: 2.2.6
52
+ env: RGV=v2.4.8
52
53
  # Ruby 2.1, Rubygems 2.2.2 and up
53
- - rvm: 2.1
54
+ - rvm: 2.1.9
54
55
  env: RGV=v2.2.5
55
56
  # Ruby 2.0.0, Rubygems 2.0.0 and up
56
57
  - rvm: 2.0.0
@@ -74,9 +75,12 @@ matrix:
74
75
  env: RGV=v1.6.2
75
76
  - rvm: 1.9.3
76
77
  env: RGV=v1.5.3
78
+
77
79
  # Ruby 1.8.7, Rubygems 1.3.6 and up
78
80
  - rvm: 1.8.7
79
81
  env: RGV=v2.2.5
82
+ # ALLOWED FAILURES
83
+ # since the great Travis image outage, frequent random segfaults :'(
80
84
  - rvm: 1.8.7
81
85
  env: RGV=v2.0.14
82
86
  - rvm: 1.8.7
@@ -93,16 +97,26 @@ matrix:
93
97
  env: RGV=v1.3.7
94
98
  - rvm: 1.8.7
95
99
  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
100
  # Ruby-head (we want to know how we're doing, but not fail the build)
102
101
  - rvm: ruby-head
103
102
  env: RGV=master
104
103
 
105
104
  allow_failures:
106
105
  - rvm: 1.8.7
107
- env: RGV=v2.1.11
106
+ env: RGV=v2.0.14
107
+ - rvm: 1.8.7
108
+ env: RGV=v1.8.29
109
+ - rvm: 1.8.7
110
+ env: RGV=v1.7.2
111
+ - rvm: 1.8.7
112
+ env: RGV=v1.6.2
113
+ - rvm: 1.8.7
114
+ env: RGV=v1.5.3
115
+ - rvm: 1.8.7
116
+ env: RGV=v1.4.2
117
+ - rvm: 1.8.7
118
+ env: RGV=v1.3.7
119
+ - rvm: 1.8.7
120
+ env: RGV=v1.3.6
108
121
  - rvm: ruby-head
122
+ env: RGV=master
data/CHANGELOG.md CHANGED
@@ -1,3 +1,77 @@
1
+ ## 1.14.0 (2017-01-20)
2
+
3
+ Bugfixes:
4
+
5
+ - ensure `Settings::Mirror` is autoloaded under the `Settings` namespace
6
+ (#5238, @segiddins)
7
+ - fix `bundler/inline` when `BUNDLE_GEMFILE=""` (#5079, @segiddins)
8
+
9
+ ## 1.14.0.pre.2 (2017-01-11)
10
+
11
+ Bugfixes:
12
+
13
+ - allow not selecting a gem when running `bundle open` (#5301, @segiddins)
14
+ - support installing gems from git branches that contain shell metacharacters (#5295, @segiddins)
15
+ - fix a resolver error that could leave dependencies unresolved (#5294, @segiddins)
16
+ - fix a stack overflow error when invoking commands (#5296, @segiddins)
17
+
18
+ ## 1.14.0.pre.1 (2016-12-29)
19
+
20
+ Features:
21
+
22
+ - `bundle doctor` first runs `bundle check` (@segiddins)
23
+ - the bundler trampoline is automatically enabled when the target version is greater than bundler 2 (@segiddins)
24
+ - gem checksums returned by rubygems.org are validated when installing gems (#4464, @segiddins)
25
+ - use the git username as a github username when running `bundle gem` (@JuanitoFatas)
26
+ - show more context when the resolver conflicts on required ruby and rubygems versions (@segiddins)
27
+ - improve platform support by allowing bundler to pick the best platform match during dependency resolution, enabled with the `specific_platform` setting (#4295, #4896, @segiddins)
28
+ - always prompt the user for a password when using `sudo` (#3006, @segiddins)
29
+ - support running without a home directory (#4778, @segiddins)
30
+ - print a warning when the gemfile uses a platform conditional that will exclude the gem from all lockfile platforms (@segiddins)
31
+ - add the `force_ruby_platform` setting to force bundler to install ruby-platform gems, even on other platforms (#4813, @segiddins)
32
+ - add conservative update options to `bundle lock` (#4912, @chrismo)
33
+ - improve `bundle outdated` output to group gems by group (@ryanfox1985)
34
+ - add conservative update options to `bundle update` (#5065, #5076, @chrismo)
35
+ - print the output of `bundle env` as github-flavored markdown, making it easier to preserve formatting when copy-pasting into a new issue (@segiddins)
36
+ - configure the persistence file when using `bundle gem` with `rspec` (@segiddins)
37
+ - add support for the `ruby_25` gemfile filter (@amatsuda)
38
+ - when installing with a lockfile that is missing dependencies, allow installation to proceed (but without parallelism) (@segiddins)
39
+
40
+ Performance:
41
+
42
+ - improve `require "bundler"` performance by ~5x (@segiddins)
43
+ - allow install gems in parallel when running on rubygems 2+
44
+
45
+ Bugfixes:
46
+
47
+ - config files with CRLF line endings can be read (#4435, @segiddins)
48
+ - `bundle lock` activates gems for the current platform even if they were activated under a different platform for a separate dependency (#4896, @segiddins)
49
+ - running `bundle env` in a directory without a gemfile no longer crashes (@segiddins)
50
+ - fail gracefully when attempting to use a source with an unknown URI scheme (#4953, @segiddins)
51
+ - store paths in the lockfile relative to the root gemfile directory when using `eval_gemfile` (#4966, @segiddins)
52
+ - `bundle lock` will not update without the `--update` flag (#4957, @segiddins)
53
+ - the `console` binstub generated by `bundle gem` will load `.irbrc` files (@mattbrictson)
54
+ - print friendly filesystem access errors in the new index (@segiddins)
55
+ - print a helpful error when running out of memory on jruby (#4673, @segiddins)
56
+ - load all rubygems plugins when installing gems (#2824, @segiddins)
57
+ - `bundle clean --dry-run` prints the list of gems without the `--force` option when no path is set (#5027, @hmistry)
58
+ - local installs no longer print "this gem may have been yanked" (#5022, @hmistry)
59
+ - avoid leaking `which` output when running `bundle doctor` (@colby-swandale)
60
+ - print a warning when attempting to `bundle exec` an empty program (#5084, @bronzdoc)
61
+ - ensure `bundle outdated` lists all outdated gems (#4979, @chrismo)
62
+ - fail gracefully when attempting to `bundle gem` with an invalid constant name (#5185, @segiddins)
63
+ - allow `bundler/inline` to work in a directory that contains a gemfile (#5117, @colby-swandale)
64
+ - ensure that the new index is thread-safe, allowing installation on rbx (#5142, @segiddins)
65
+ - remove deprecated `rspec` syntax in `bundle gem` output (@gearnode)
66
+ - fail gracefully when any system error is encountered when touching the filesystem (#5134, @segiddins)
67
+ - fix compatibility with a machine running with FIPS mode enabled (#4989, @segiddins)
68
+ - fix `bundle lock --add-platform ruby` (#5230, @segiddins)
69
+ - print gem post-install messages when running `bundle update` (@smathy)
70
+ - ensure errors due to a retries are all separated by a newline (@segiddins)
71
+ - print out the bundle path in gem not found errors (#4854, @diegosteiner)
72
+ - fail gracefully when creating threads fails (@segiddins)
73
+ - avoid downloading metadata for gems that are only development dependencies (@Paxa)
74
+
1
75
  ## 1.13.7 (2016-12-25)
2
76
 
3
77
  Features:
@@ -41,7 +115,7 @@ Bugfixes:
41
115
  - ensure redefined methods have the same visibility as the one they're replacing, fixing `Kernel.require` failing on JRuby (#4975, @segiddins)
42
116
  - ensure that Bundler won't complain about a corrupt lockfile when no lockfile exists when using `gemspec` in the Gemfile (#5006, @segiddins)
43
117
  - fail gracefully when parsing the metadata for a gemspec from the compact index fails (@segiddins)
44
- - fix invoking bundler with binstubs generated by RubyGems 2.6.2+ (#4974, @chrismo)
118
+ - fix system gems not being copied to --path on bundle install (e.g. --deployment) (#4974, @chrismo)
45
119
 
46
120
  Performance:
47
121
 
@@ -71,7 +145,7 @@ Features:
71
145
  - print gem installation errors after other install output (#4834, @segiddins)
72
146
  - add `lock --remove-platform` flag to remove platforms from the lock (#4877, @segiddins)
73
147
  - add `only_update_to_newer_versions` setting to prevent downgrades during `update` (@segiddins)
74
- - expanded expirimental plugin support to include hooks and sources (@asutoshpalai)
148
+ - expanded experimental plugin support to include hooks and sources (@asutoshpalai)
75
149
 
76
150
  Bugfixes:
77
151
 
@@ -149,6 +223,11 @@ Bugfixes:
149
223
  - allow running `bundle install --deployment` after `bundle package --all` with path gems (#2175, @allenzhao)
150
224
  - add support for patchlevels in ruby versions in the gemfile and gemspecs (#4593, @chalkos)
151
225
 
226
+ ## 1.12.6 (2016-10-10)
227
+
228
+ Bugfixes:
229
+ - add support for weak etags to the new index (@segiddins)
230
+
152
231
  ## 1.12.5 (2016-05-25)
153
232
 
154
233
  Bugfixes:
data/DEVELOPMENT.md CHANGED
@@ -12,7 +12,7 @@ If you have any questions after reading this page, please feel free to contact e
12
12
 
13
13
  ## How you can help
14
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.
15
+ 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. 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
16
 
17
17
  # Development setup
18
18
 
@@ -36,9 +36,11 @@ Bundler doesn't use a Gemfile to list development dependencies, because when we
36
36
 
37
37
  4. Set up a shell alias to run Bundler from your clone, e.g. a Bash alias:
38
38
 
39
- $ alias dbundle='BUNDLE_DISABLE_POSTIT=1 ruby -I /path/to/bundler/lib /path/to/bundler/exe/bundle'
39
+ $ alias dbundle='BUNDLE_TRAMPOLINE_DISABLE=1 ruby -I /path/to/bundler/lib /path/to/bundler/exe/bundle'
40
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.
41
+ The `BUNDLE_TRAMPOLINE_DISABLE` 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
+ To dive into the code with Pry: `RUBYOPT=-rpry dbundle` to require pry and then run commands.
42
44
 
43
45
  # Submitting Pull Requests
44
46
 
data/ISSUES.md CHANGED
@@ -10,6 +10,23 @@ Detailed information about each Bundler command, including help with common prob
10
10
 
11
11
  ## Troubleshooting
12
12
 
13
+ ### Permission denied when installing bundler
14
+
15
+ Certain operating systems such as MacOS and Ubuntu have versions of Ruby that require evelated privileges to install gems.
16
+
17
+ ERROR: While executing gem ... (Gem::FilePermissionError)
18
+ You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
19
+
20
+ There are multiple ways to solve this issue. You can install bundler with elevated privilges using `sudo` or `su`.
21
+
22
+ sudo gem install bundler
23
+
24
+ If you cannot elevated your privileges or do not want to globally install Bundler, you can use the `--user-install` option.
25
+
26
+ gem install bundler --user-install
27
+
28
+ This will install Bundler into your home directory. Note that you will need to append `~/.gem/ruby/<ruby version>/bin` to your `$PATH` variable to use `bundle`.
29
+
13
30
  ### Heroku errors
14
31
 
15
32
  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.
data/README.md CHANGED
@@ -19,12 +19,19 @@ bundle install
19
19
  bundle exec rspec
20
20
  ```
21
21
 
22
+ For help with installation issues, see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md)
23
+
22
24
  See [bundler.io](http://bundler.io) for the full documentation.
23
25
 
24
26
  ### Troubleshooting
25
27
 
26
28
  For help with common problems, see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md).
27
29
 
30
+ ### Supporting
31
+
32
+ <a href="https://rubytogether.org/"><img src="https://rubytogether.org/images/rubies.svg" width=200></a><br/>
33
+ Bundler is maintained by <a href="https://rubytogether.org/">Ruby Together</a>, a grassroots initiative committed to supporting the critical Ruby infrastructure you rely on. Contribute today <a href="https://rubytogether.org/developers">as an individual</a> or even better, <a href="https://rubytogether.org/companies">as a company</a>, and ensure that Bundler, RubyGems, and other shared tooling is around for years to come.
34
+
28
35
  ### Other questions
29
36
 
30
37
  To see what has changed in recent versions of Bundler, see the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md).
data/Rakefile CHANGED
@@ -39,7 +39,7 @@ namespace :spec do
39
39
  deps = Hash[BUNDLER_SPEC.development_dependencies.map do |d|
40
40
  [d.name, d.requirement.to_s]
41
41
  end]
42
- deps["rubocop"] ||= "= 0.41.2" if RUBY_VERSION >= "1.9.3" # can't go in the gemspec because of the ruby version requirement
42
+ deps["rubocop"] ||= "= 0.45.0" if RUBY_VERSION >= "2.0.0" # can't go in the gemspec because of the ruby version requirement
43
43
 
44
44
  # JRuby can't build ronn or rdiscount, so we skip that
45
45
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
@@ -47,10 +47,10 @@ namespace :spec do
47
47
  deps.delete("rdiscount")
48
48
  end
49
49
 
50
- deps.sort_by {|name, _| name }.each do |name, version|
51
- sh %(#{Gem.ruby} -S gem list -i "^#{name}$" -v "#{version}" || ) +
52
- %(#{Gem.ruby} -S gem install #{name} -v "#{version}" --no-ri --no-rdoc)
53
- end
50
+ gem_install_command = "install --no-ri --no-rdoc --conservative " + deps.sort_by {|name, _| name }.map do |name, version|
51
+ "'#{name}:#{version}'"
52
+ end.join(" ")
53
+ sh %(#{Gem.ruby} -S gem #{gem_install_command})
54
54
 
55
55
  # Download and install gems used inside tests
56
56
  $LOAD_PATH.unshift("./spec")
@@ -74,7 +74,7 @@ namespace :spec do
74
74
 
75
75
  $LOAD_PATH.unshift("./spec")
76
76
  require "support/rubygems_ext"
77
- Spec::Rubygems::DEPS["codeclimate-test-reporter"] = nil if RUBY_VERSION >= "2.2.0"
77
+ Spec::Rubygems::DEPS["codeclimate-test-reporter"] = "~> 0.6.0" if RUBY_VERSION >= "2.2.0"
78
78
 
79
79
  # Install the other gem deps, etc
80
80
  Rake::Task["spec:deps"].invoke
@@ -91,9 +91,9 @@ begin
91
91
  RSpec::Core::RakeTask.new
92
92
  task :spec => "man:build"
93
93
 
94
- if RUBY_VERSION >= "1.9.3"
94
+ if RUBY_VERSION >= "2.0.0"
95
95
  # can't go in the gemspec because of the ruby version requirement
96
- gem "rubocop", "= 0.41.2"
96
+ gem "rubocop", "= 0.45.0"
97
97
  require "rubocop/rake_task"
98
98
  RuboCop::RakeTask.new
99
99
  end
@@ -127,7 +127,7 @@ begin
127
127
  rubyopt = ENV["RUBYOPT"]
128
128
  # When editing this list, also edit .travis.yml!
129
129
  branches = %w(master)
130
- 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)
130
+ 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.5.2 v2.6.8)
131
131
  (branches + releases).each do |rg|
132
132
  desc "Run specs with Rubygems #{rg}"
133
133
  RSpec::Core::RakeTask.new(rg) do |t|
@@ -190,7 +190,7 @@ begin
190
190
  task :travis do
191
191
  rg = ENV["RGV"] || raise("Rubygems version is required on Travis!")
192
192
 
193
- if RUBY_VERSION > "1.9.3"
193
+ if RUBY_VERSION >= "2.0.0"
194
194
  puts "\n\e[1;33m[Travis CI] Running bundler linter\e[m\n\n"
195
195
  Rake::Task["rubocop"].invoke
196
196
  end
@@ -238,14 +238,15 @@ begin
238
238
  require "ronn"
239
239
 
240
240
  namespace :man do
241
- directory "lib/bundler/man"
241
+ directory "man"
242
242
 
243
243
  sources = Dir["man/*.ronn"].map {|f| File.basename(f, ".ronn") }
244
244
  sources.map do |basename|
245
245
  ronn = "man/#{basename}.ronn"
246
- roff = "lib/bundler/man/#{basename}"
246
+ manual_section = ".1" unless basename =~ /.*(\d+)\Z/
247
+ roff = "man/#{basename}#{manual_section}"
247
248
 
248
- file roff => ["lib/bundler/man", ronn] do
249
+ file roff => ["man", ronn] do
249
250
  sh "#{Gem.ruby} -S ronn --roff --pipe #{ronn} > #{roff}"
250
251
  end
251
252
 
@@ -257,9 +258,8 @@ begin
257
258
  end
258
259
 
259
260
  task :clean do
260
- leftovers = Dir["lib/bundler/man/*"].reject do |f|
261
- basename = File.basename(f).sub(/\.(txt|ronn)/, "")
262
- sources.include?(basename)
261
+ leftovers = Dir["man/*"].reject do |f|
262
+ File.extname(f) == ".ronn" || f == "man/index.txt"
263
263
  end
264
264
  rm leftovers if leftovers.any?
265
265
  end
@@ -285,13 +285,6 @@ end
285
285
  begin
286
286
  require "automatiek"
287
287
 
288
- Automatiek::RakeTask.new("compact_index_client") do |lib|
289
- lib.download = { :github => "https://github.com/bundler/compact_index_client" }
290
- lib.namespace = "CompactIndexClient"
291
- lib.prefix = "Bundler"
292
- lib.vendor_lib = "lib/bundler/vendor/compact_index_client"
293
- end
294
-
295
288
  Automatiek::RakeTask.new("molinillo") do |lib|
296
289
  lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
297
290
  lib.namespace = "Molinillo"
@@ -312,11 +305,29 @@ begin
312
305
  lib.prefix = "BundlerVendoredPostIt"
313
306
  lib.vendor_lib = "lib/bundler/vendor/postit"
314
307
  end
308
+
309
+ Automatiek::RakeTask.new("net-http-persistent") do |lib|
310
+ lib.download = { :github => "https://github.com/drbrain/net-http-persistent" }
311
+ lib.namespace = "Net::HTTP::Persistent"
312
+ lib.prefix = "Bundler::Persistent"
313
+ lib.vendor_lib = "lib/bundler/vendor/net-http-persistent"
314
+
315
+ mixin = Module.new do
316
+ def namespace_files
317
+ super
318
+ require_target = vendor_lib.sub(%r{^(.+?/)?lib/}, "") << "/lib"
319
+ relative_files = files.map {|f| Pathname.new(f).relative_path_from(Pathname.new(vendor_lib) / "lib").sub_ext("").to_s }
320
+ process_files(/require (['"])(#{Regexp.union(relative_files)})/, "require \\1#{require_target}/\\2")
321
+ end
322
+ end
323
+ lib.send(:extend, mixin)
324
+ end
315
325
  rescue LoadError
316
326
  namespace :vendor do
317
327
  task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
318
328
  task(:thor) { abort "Install the automatiek gem to be able to vendor gems." }
319
329
  task(:postit) { abort "Install the automatiek gem to be able to vendor gems." }
330
+ task("net-http-persistent") { abort "Install the automatiek gem to be able to vendor gems." }
320
331
  end
321
332
  end
322
333
 
data/bin/rubocop CHANGED
@@ -10,7 +10,7 @@ bundler_spec.dependencies.each do |dep|
10
10
  gem dep.name, dep.requirement
11
11
  end
12
12
 
13
- gem "rubocop", "= 0.41.2"
13
+ gem "rubocop", "= 0.45.0"
14
14
 
15
15
  Gem.finish_resolve if Gem.respond_to?(:finish_resolve)
16
16