bundler-maglev- 1.0.21

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 (144) hide show
  1. data/.gitignore +22 -0
  2. data/.travis.yml +32 -0
  3. data/CHANGELOG.md +805 -0
  4. data/ISSUES.md +62 -0
  5. data/LICENSE +23 -0
  6. data/README.md +29 -0
  7. data/Rakefile +212 -0
  8. data/UPGRADING.md +103 -0
  9. data/bin/bundle +22 -0
  10. data/bundler.gemspec +30 -0
  11. data/lib/bundler.rb +286 -0
  12. data/lib/bundler/capistrano.rb +11 -0
  13. data/lib/bundler/cli.rb +520 -0
  14. data/lib/bundler/definition.rb +438 -0
  15. data/lib/bundler/dependency.rb +134 -0
  16. data/lib/bundler/deployment.rb +58 -0
  17. data/lib/bundler/dsl.rb +257 -0
  18. data/lib/bundler/environment.rb +47 -0
  19. data/lib/bundler/gem_helper.rb +151 -0
  20. data/lib/bundler/gem_installer.rb +9 -0
  21. data/lib/bundler/gem_tasks.rb +2 -0
  22. data/lib/bundler/graph.rb +130 -0
  23. data/lib/bundler/index.rb +138 -0
  24. data/lib/bundler/installer.rb +97 -0
  25. data/lib/bundler/lazy_specification.rb +74 -0
  26. data/lib/bundler/lockfile_parser.rb +108 -0
  27. data/lib/bundler/remote_specification.rb +59 -0
  28. data/lib/bundler/resolver.rb +464 -0
  29. data/lib/bundler/rubygems_ext.rb +237 -0
  30. data/lib/bundler/rubygems_integration.rb +349 -0
  31. data/lib/bundler/runtime.rb +152 -0
  32. data/lib/bundler/settings.rb +115 -0
  33. data/lib/bundler/setup.rb +23 -0
  34. data/lib/bundler/shared_helpers.rb +71 -0
  35. data/lib/bundler/source.rb +708 -0
  36. data/lib/bundler/spec_set.rb +135 -0
  37. data/lib/bundler/templates/Executable +16 -0
  38. data/lib/bundler/templates/Gemfile +4 -0
  39. data/lib/bundler/templates/newgem/Gemfile.tt +4 -0
  40. data/lib/bundler/templates/newgem/Rakefile.tt +1 -0
  41. data/lib/bundler/templates/newgem/bin/newgem.tt +3 -0
  42. data/lib/bundler/templates/newgem/gitignore.tt +4 -0
  43. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +9 -0
  44. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +7 -0
  45. data/lib/bundler/templates/newgem/newgem.gemspec.tt +24 -0
  46. data/lib/bundler/ui.rb +73 -0
  47. data/lib/bundler/vendor/thor.rb +358 -0
  48. data/lib/bundler/vendor/thor/actions.rb +314 -0
  49. data/lib/bundler/vendor/thor/actions/create_file.rb +105 -0
  50. data/lib/bundler/vendor/thor/actions/create_link.rb +57 -0
  51. data/lib/bundler/vendor/thor/actions/directory.rb +93 -0
  52. data/lib/bundler/vendor/thor/actions/empty_directory.rb +134 -0
  53. data/lib/bundler/vendor/thor/actions/file_manipulation.rb +270 -0
  54. data/lib/bundler/vendor/thor/actions/inject_into_file.rb +109 -0
  55. data/lib/bundler/vendor/thor/base.rb +576 -0
  56. data/lib/bundler/vendor/thor/core_ext/file_binary_read.rb +9 -0
  57. data/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb +75 -0
  58. data/lib/bundler/vendor/thor/core_ext/ordered_hash.rb +100 -0
  59. data/lib/bundler/vendor/thor/error.rb +30 -0
  60. data/lib/bundler/vendor/thor/group.rb +273 -0
  61. data/lib/bundler/vendor/thor/invocation.rb +168 -0
  62. data/lib/bundler/vendor/thor/parser.rb +4 -0
  63. data/lib/bundler/vendor/thor/parser/argument.rb +67 -0
  64. data/lib/bundler/vendor/thor/parser/arguments.rb +161 -0
  65. data/lib/bundler/vendor/thor/parser/option.rb +120 -0
  66. data/lib/bundler/vendor/thor/parser/options.rb +175 -0
  67. data/lib/bundler/vendor/thor/rake_compat.rb +66 -0
  68. data/lib/bundler/vendor/thor/runner.rb +309 -0
  69. data/lib/bundler/vendor/thor/shell.rb +88 -0
  70. data/lib/bundler/vendor/thor/shell/basic.rb +302 -0
  71. data/lib/bundler/vendor/thor/shell/color.rb +108 -0
  72. data/lib/bundler/vendor/thor/shell/html.rb +121 -0
  73. data/lib/bundler/vendor/thor/task.rb +113 -0
  74. data/lib/bundler/vendor/thor/util.rb +229 -0
  75. data/lib/bundler/vendor/thor/version.rb +3 -0
  76. data/lib/bundler/vendored_thor.rb +7 -0
  77. data/lib/bundler/version.rb +6 -0
  78. data/lib/bundler/vlad.rb +11 -0
  79. data/man/bundle-config.ronn +90 -0
  80. data/man/bundle-exec.ronn +111 -0
  81. data/man/bundle-install.ronn +317 -0
  82. data/man/bundle-package.ronn +59 -0
  83. data/man/bundle-update.ronn +176 -0
  84. data/man/bundle.ronn +80 -0
  85. data/man/gemfile.5.ronn +284 -0
  86. data/man/index.txt +6 -0
  87. data/spec/bundler/gem_helper_spec.rb +143 -0
  88. data/spec/cache/gems_spec.rb +230 -0
  89. data/spec/cache/git_spec.rb +12 -0
  90. data/spec/cache/path_spec.rb +27 -0
  91. data/spec/cache/platform_spec.rb +57 -0
  92. data/spec/install/deploy_spec.rb +197 -0
  93. data/spec/install/deprecated_spec.rb +37 -0
  94. data/spec/install/gems/c_ext_spec.rb +48 -0
  95. data/spec/install/gems/env_spec.rb +107 -0
  96. data/spec/install/gems/flex_spec.rb +313 -0
  97. data/spec/install/gems/groups_spec.rb +259 -0
  98. data/spec/install/gems/packed_spec.rb +84 -0
  99. data/spec/install/gems/platform_spec.rb +192 -0
  100. data/spec/install/gems/resolving_spec.rb +72 -0
  101. data/spec/install/gems/simple_case_spec.rb +770 -0
  102. data/spec/install/gems/sudo_spec.rb +74 -0
  103. data/spec/install/gems/win32_spec.rb +26 -0
  104. data/spec/install/gemspec_spec.rb +125 -0
  105. data/spec/install/git_spec.rb +570 -0
  106. data/spec/install/invalid_spec.rb +35 -0
  107. data/spec/install/path_spec.rb +405 -0
  108. data/spec/install/upgrade_spec.rb +26 -0
  109. data/spec/lock/git_spec.rb +35 -0
  110. data/spec/lock/lockfile_spec.rb +739 -0
  111. data/spec/other/check_spec.rb +221 -0
  112. data/spec/other/config_spec.rb +40 -0
  113. data/spec/other/console_spec.rb +54 -0
  114. data/spec/other/exec_spec.rb +248 -0
  115. data/spec/other/ext_spec.rb +37 -0
  116. data/spec/other/help_spec.rb +39 -0
  117. data/spec/other/init_spec.rb +40 -0
  118. data/spec/other/newgem_spec.rb +46 -0
  119. data/spec/other/open_spec.rb +35 -0
  120. data/spec/other/show_spec.rb +82 -0
  121. data/spec/quality_spec.rb +62 -0
  122. data/spec/resolver/basic_spec.rb +20 -0
  123. data/spec/resolver/platform_spec.rb +82 -0
  124. data/spec/runtime/executable_spec.rb +110 -0
  125. data/spec/runtime/load_spec.rb +107 -0
  126. data/spec/runtime/platform_spec.rb +90 -0
  127. data/spec/runtime/require_spec.rb +231 -0
  128. data/spec/runtime/setup_spec.rb +730 -0
  129. data/spec/runtime/with_clean_env_spec.rb +15 -0
  130. data/spec/spec_helper.rb +92 -0
  131. data/spec/support/builders.rb +597 -0
  132. data/spec/support/helpers.rb +239 -0
  133. data/spec/support/indexes.rb +112 -0
  134. data/spec/support/matchers.rb +77 -0
  135. data/spec/support/path.rb +71 -0
  136. data/spec/support/platforms.rb +53 -0
  137. data/spec/support/ruby_ext.rb +20 -0
  138. data/spec/support/rubygems_ext.rb +37 -0
  139. data/spec/support/rubygems_hax/platform.rb +11 -0
  140. data/spec/support/sudo.rb +21 -0
  141. data/spec/update/gems_spec.rb +122 -0
  142. data/spec/update/git_spec.rb +196 -0
  143. data/spec/update/source_spec.rb +51 -0
  144. metadata +296 -0
data/.gitignore ADDED
@@ -0,0 +1,22 @@
1
+ # system crap
2
+ .DS_Store
3
+ .*.swp
4
+
5
+ # files created by running the specs
6
+ tmp
7
+
8
+ # built gems
9
+ pkg
10
+ *.gem
11
+
12
+ # rubinius bytecode
13
+ *.rbc
14
+
15
+ # output from ronn
16
+ lib/bundler/man
17
+
18
+ # output from ci_reporter
19
+ spec/reports
20
+
21
+ # Netbeans
22
+ nbproject
data/.travis.yml ADDED
@@ -0,0 +1,32 @@
1
+ before_script:
2
+ - sudo apt-get install groff -y
3
+ - rake spec:deps
4
+
5
+ script: rake spec:travis
6
+
7
+ rvm:
8
+ - 1.8.7
9
+ - 1.9.2
10
+
11
+ env:
12
+ - RGV=v1.3.6
13
+ - RGV=v1.3.7
14
+ - RGV=v1.4.2
15
+ - RGV=v1.5.3
16
+ - RGV=v1.6.2
17
+ - RGV=v1.7.2
18
+ - RGV=v1.8.10
19
+ - RGV=master
20
+
21
+ matrix:
22
+ exclude:
23
+ - rvm: 1.9.2
24
+ env: RGV=v1.3.6
25
+ - rvm: 1.9.2
26
+ env: RGV=v1.3.7
27
+ - rvm: 1.9.2
28
+ env: RGV=v1.4.2
29
+
30
+ notifications:
31
+ email:
32
+ - travis-ci@andrearko.com
data/CHANGELOG.md ADDED
@@ -0,0 +1,805 @@
1
+ ## 1.0.21 (September 30, 2011)
2
+
3
+ - No changes from RC
4
+
5
+ ## 1.0.21.rc (September 29, 2011)
6
+
7
+ Bugfixes:
8
+
9
+ - Load Psych unless Syck is defined, because 1.9.2 defines YAML
10
+
11
+ ## 1.0.20 (September 27, 2011)
12
+
13
+ Features:
14
+
15
+ - Add platform :maglev (@timfel, #1444)
16
+
17
+ Bugfixes:
18
+
19
+ - Ensure YAML is required even if Psych is found
20
+ - Handle directory names that contain invalid regex characters
21
+
22
+ ## 1.0.20.rc (September 18, 2011)
23
+
24
+ Features:
25
+
26
+ - Rescue interrupts to `bundle` while loading bundler.rb (#1395)
27
+ - Allow clearing without groups by passing `--without ''` (#1259)
28
+
29
+ Bugfixes:
30
+
31
+ - Manually sort requirements in the lockfile (#1375)
32
+ - Remove several warnings generated by ruby -w (@stephencelis)
33
+ - Handle trailing slashes on names passed to `gem` (#1372)
34
+ - Name modules for gems like 'test-foo_bar' correctly (#1303)
35
+ - Don't require Psych if Syck is already loaded (#1239)
36
+
37
+ ## 1.0.19.rc (September 13, 2011)
38
+
39
+ Features:
40
+
41
+ - Compatability with Rubygems 1.8.10 installer changes
42
+ - Report gem installation failures clearly (@rwilcox, #1380)
43
+ - Useful error for cap and vlad on first deploy (@nexmat, @kirs)
44
+
45
+ Bugfixes:
46
+
47
+ - `exec` now works when the command contains 'exec'
48
+ - Only touch lock after changes on Windows (@robertwahler, #1358)
49
+ - Keep load paths when #setup is called multiple times (@radsaq, #1379)
50
+
51
+ ## 1.0.18 (August 16, 2011)
52
+
53
+ Bugfixes:
54
+
55
+ - Fix typo in DEBUG_RESOLVER (@geemus)
56
+ - Fixes rake 0.9.x warning (@mtylty, #1333)
57
+ - Fix `bundle cache` again for rubygems 1.3.x
58
+
59
+ Features:
60
+
61
+ - Run the bundle install earlier in a Capistrano deployment (@cgriego, #1300)
62
+ - Support hidden gemspec (@trans, @cldwalker, #827)
63
+ - Make fetch_specs faster (@zeha, #1294)
64
+ - Allow overriding development deps loaded by #gemspec (@lgierth, #1245)
65
+
66
+ ## 1.0.17 (August 8, 2011)
67
+
68
+ Bugfixes:
69
+
70
+ - Fix rake issues with rubygems 1.3.x (#1342)
71
+ - Fixed invalid byte sequence error while installing gem on Ruby 1.9 (#1341)
72
+
73
+ ## 1.0.16 (August 8, 2011)
74
+
75
+ Features:
76
+
77
+ - Performance fix for MRI 1.9 (@efficientcloud, #1288)
78
+ - Shortcuts (like `bundle i`) for all commands (@amatsuda)
79
+ - Correcly identify missing child dependency in error message
80
+
81
+ Bugfixes:
82
+
83
+ - Allow Windows network share paths with forward slashes (@mtscout6, #1253)
84
+ - Check for rubygems.org credentials so `rake release` doesn't hang (#980)
85
+ - Find cached prerelease gems on rubygems 1.3.x (@dburt, #1202)
86
+ - Fix `bundle install --without` on kiji (@tmm1, #1287)
87
+ - Get rid of warning in ruby 1.9.3 (@smartinez87, #1231)
88
+
89
+ Documentation:
90
+
91
+ - Documentation for `gem ..., :require => false` (@kmayer, #1292)
92
+ - Gems provide "executables", they are rarely also binaries (@fxn, #1242)
93
+
94
+ ## 1.0.15 (June 9, 2011)
95
+
96
+ Features:
97
+
98
+ - Improved Rubygems integration, removed many deprecation notices
99
+
100
+ Bugfixes:
101
+
102
+ - Escape URL arguments to git correctly on Windows (1.0.14 regression)
103
+
104
+ ## 1.0.14 (May 27, 2011)
105
+
106
+ Features:
107
+
108
+ - Rubinius platform :rbx (@rkbodenner)
109
+ - Include gem rake tasks with "require 'bundler/gem_tasks" (@indirect)
110
+ - Include user name and email from git config in new gemspec (@ognevsky)
111
+
112
+ Bugfixes:
113
+
114
+ - Set file permissions after checking out git repos (@tissak)
115
+ - Remove deprecated call to Gem::SourceIndex#all_gems (@mpj)
116
+ - Require the version file in new gemspecs (@rubiii)
117
+ - Allow relative paths from the Gemfile in gems with no gemspec (@mbirk)
118
+ - Install gems that contain 'bundler', e.g. guard-bundler (@hone)
119
+ - Display installed path correctly on Windows (@tadman)
120
+ - Escape quotes in git URIs (@mheffner)
121
+ - Improve Rake 0.9 support (@quix)
122
+ - Handle certain directories already existing (@raggi)
123
+ - Escape filenames containing regex characters (@indirect)
124
+
125
+ ## 1.0.13 (May 4, 2011)
126
+
127
+ Features:
128
+
129
+ - Compatibility with Rubygems master (soon to be v1.8) (@evanphx)
130
+ - Informative error when --path points to a broken symlink
131
+ - Support Rake 0.9 and greater (@e2)
132
+ - Output full errors for non-TTYs e.g. pow (@josh)
133
+
134
+ Bugfixes:
135
+
136
+ - Allow spaces in gem path names for gem tasks (@rslifka)
137
+ - Have cap run bundle install from release_path (@martinjagusch)
138
+ - Quote git refspec so zsh doesn't expand it (@goneflyin)
139
+
140
+ ## 1.0.12 (April 8, 2011)
141
+
142
+ Features:
143
+
144
+ - Add --no-deployment option to `install` for disabling it on dev machines
145
+ - Better error message when git fails and cache is present (@parndt)
146
+ - Honor :bundle_cmd in cap `rake` command (@voidlock, @cgriego)
147
+
148
+ Bugfixes:
149
+
150
+ - Compatibility with Rubygems 1.7 and Rails 2.3 and vendored gems (@evanphx)
151
+ - Fix changing gem order in lock (@gucki)
152
+ - Remove color escape sequences when displaying man pages (@bgreenlee)
153
+ - Fix creating GEM_HOME on both JRuby 1.5 and 1.6 (@nickseiger)
154
+ - Fix gems without a gemspec and directories in bin/ (@epall)
155
+ - Fix --no-prune option for `bundle install` (@cmeiklejohn)
156
+
157
+ ## 1.0.11 (April 1, 2011)
158
+
159
+ Features:
160
+
161
+ - Compatibility with Rubygems 1.6 and 1.7
162
+ - Better error messages when a git command fails
163
+
164
+ Bugfixes:
165
+
166
+ - Don't always update gemspec gems (@carllerche)
167
+ - Remove ivar warnings (@jackdempsey)
168
+ - Fix occasional git failures in zsh (@jonah-carbonfive)
169
+ - Consistent lock for gems with double deps like Cap (@akahn)
170
+
171
+ ## 1.0.10 (February 1, 2011)
172
+
173
+ Bugfixes:
174
+
175
+ - Fix a regression loading YAML gemspecs from :git and :path gems
176
+ - Requires, namespaces, etc. to work with changes in Rubygems 1.5
177
+
178
+ ## 1.0.9 (January 19, 2011)
179
+
180
+ Bugfixes:
181
+
182
+ - Fix a bug where Bundler.require could remove gems from the load
183
+ path. In Rails apps with a default application.rb, this removed
184
+ all gems in groups other than :default and Rails.env.
185
+
186
+ ## 1.0.8 (January 18, 2011)
187
+
188
+ Features:
189
+
190
+ - Allow overriding gemspec() deps with :git deps
191
+ - Add --local option to `bundle update`
192
+ - Ignore Gemfile.lock in newly generated gems
193
+ - Use `less` as help pager instead of `more`
194
+ - Run `bundle exec rake` instead of `rake` in Capistrano tasks
195
+
196
+ Bugfixes:
197
+
198
+ - Fix --no-cache option for `bundle install`
199
+ - Allow Vlad deploys to work without Capistrano gem installed
200
+ - Fix group arguments to `bundle console`
201
+ - Allow groups to be loaded even if other groups were loaded
202
+ - Evaluate gemspec() gemspecs in their directory not the cwd
203
+ - Count on Rake to chdir to the right place in GemHelper
204
+ - Change Pathnames to Strings for MacRuby
205
+ - Check git process exit status correctly
206
+ - Fix some warnings in 1.9.3-trunk (thanks tenderlove)
207
+
208
+ ## 1.0.7 (November 17, 2010)
209
+
210
+ Bugfixes:
211
+
212
+ - Remove Bundler version from the lockfile because it broke
213
+ backwards compatibility with 1.0.0-1.0.5. Sorry. :(
214
+
215
+ ## 1.0.6 (November 16, 2010)
216
+
217
+ Bugfixes:
218
+
219
+ - Fix regression in `update` that caused long/wrong results
220
+ - Allow git gems on other platforms while installing (#579)
221
+
222
+ Features:
223
+
224
+ - Speed up `install` command using various optimizations
225
+ - Significantly increase performance of resolver
226
+ - Use upcoming Rubygems performance improvements (@tmm1)
227
+ - Warn if the lockfile was generated by a newer version
228
+ - Set generated gems' homepage to "", so Rubygems will warn
229
+
230
+ ## 1.0.5 (November 13, 2010)
231
+
232
+ Bugfixes:
233
+
234
+ - Fix regression disabling all operations that employ sudo
235
+
236
+ ## 1.0.4 (November 12, 2010)
237
+
238
+ Bugfixes:
239
+
240
+ - Expand relative :paths from Bundler.root (eg ./foogem)
241
+ - Allow git gems in --without groups while --frozen
242
+ - Allow gem :ref to be a symbol as well as a string
243
+ - Fix exception when Gemfile needs a newer Bundler version
244
+ - Explanation when the current Bundler version conflicts
245
+ - Explicit error message if Gemfile needs newer Bundler
246
+ - Ignore an empty string BUNDLE_GEMFILE
247
+ - Skeleton gemspec now works with older versions of git
248
+ - Fix shell quoting and ref fetching in GemHelper
249
+ - Disable colored output in --deployment
250
+ - Preserve line endings in lock file
251
+
252
+ Features:
253
+
254
+ - Add support for 'mingw32' platform (aka RubyInstaller)
255
+ - Large speed increase when Gemfile.lock is already present
256
+ - Huge speed increase when many (100+) system gems are present
257
+ - Significant expansion of ISSUES, man pages, and docs site
258
+ - Remove Open3 from GemHelper (now it works on Windows™®©)
259
+ - Allow setting roles in built-in cap and vlad tasks
260
+
261
+ ## 1.0.3 (October 15, 2010)
262
+
263
+ Bugfixes:
264
+
265
+ - Use bitwise or in #hash to reduce the chance of overflow
266
+ - `bundle update` now works with :git + :tag updates
267
+ - Record relative :path options in the Gemfile.lock
268
+ - :groups option on gem method in Gemfile now works
269
+ - Add #platform method and :platform option to Gemfile DSL
270
+ - --without now accepts a quoted, space-separated list
271
+ - Installing after --deployment with no lock is now possible
272
+ - Binstubs can now be symlinked
273
+ - Print warning if cache for --local install is missing gems
274
+ - Improve output when installing to a path
275
+ - The tests all pass! Yay!
276
+
277
+ ## 1.0.2 (October 2, 2010)
278
+
279
+ Bugfix:
280
+
281
+ - Actually include the man pages in the gem, so help works
282
+
283
+ ## 1.0.1 (October 1, 2010)
284
+
285
+ Features:
286
+
287
+ - Vlad deployment recipe, `require 'bundler/vlad'`
288
+ - Prettier bundle graphs
289
+ - Improved gem skeleton for `bundle gem`
290
+ - Prompt on file clashes when generating a gem
291
+ - Option to generate binary with gem skeleton
292
+ - Allow subclassing of GemHelper for custom tasks
293
+ - Chdir to gem directory during `bundle open`
294
+
295
+ Bugfixes:
296
+
297
+ - Allow gemspec requirements with a list of versions
298
+ - Accept lockfiles with windows line endings
299
+ - Respect BUNDLE_WITHOUT env var
300
+ - Allow `gem "foo", :platform => :jruby`
301
+ - Specify loaded_from path in fake gemspec
302
+ - Flesh out gem_helper tasks, raise errors correctly
303
+ - Respect RBConfig::CONFIG['ruby_install_name'] in binstubs
304
+
305
+ ## 1.0.0 (August 29, 2010)
306
+
307
+ Features:
308
+
309
+ - You can now define `:bundle_cmd` in the capistrano task
310
+
311
+ Bugfixes:
312
+
313
+ - Various bugfixes to the built-in rake helpers
314
+ - Fix a bug where shortrefs weren't unique enough and were
315
+ therfore colliding
316
+ - Fix a small bug involving checking whether a local git
317
+ clone is up to date
318
+ - Correctly handle explicit '=' dependencies with gems
319
+ pinned to a git source
320
+ - Fix an issue with Windows-generated lockfiles by reading
321
+ and writing the lockfile in binary mode
322
+ - Fix an issue with shelling out to git in Windows by
323
+ using double quotes around paths
324
+ - Detect new Rubygems sources in the Gemfile and update
325
+ the lockfile
326
+
327
+ ## 1.0.0.rc.6 (August 23, 2010)
328
+
329
+ Features:
330
+
331
+ - Much better documentation for most of the commands and Gemfile
332
+ format
333
+
334
+ Bugfixes:
335
+
336
+ - Don't attempt to create directories if they already exist
337
+ - Fix the capistrano task so that it actually runs
338
+ - Update the Gemfile template to reference rubygems.org instead
339
+ of :gemcutter
340
+ - bundle exec should exit with a non zero exit code when the gem
341
+ binary does not exist or the file is not executable.
342
+ - Expand paths in Gemfile relative to the Gemfile and not the current
343
+ working directory.
344
+
345
+ ## 1.0.0.rc.5 (August 10, 2010)
346
+
347
+ Features:
348
+
349
+ - Make the Capistrano task more concise.
350
+
351
+ Bugfixes:
352
+
353
+ - Fix a regression with determining whether or not to use sudo
354
+ - Allow using the --gemfile flag with the --deployment flag
355
+
356
+ ## 1.0.0.rc.4 (August 9, 2010)
357
+
358
+ Features:
359
+
360
+ - `bundle gem NAME` command to generate a new gem with Gemfile
361
+ - Bundle config file location can be specified by BUNDLE_APP_CONFIG
362
+ - Add --frozen to disable updating the Gemfile.lock at runtime
363
+ (default with --deployment)
364
+ - Basic Capistrano task now added as 'bundler/capistrano'
365
+
366
+ Bugfixes:
367
+
368
+ - Multiple bundler process no longer share a tmp directory
369
+ - `bundle update GEM` always updates dependencies of GEM as well
370
+ - Deleting the cache directory no longer causes errors
371
+ - Moving the bundle after installation no longer causes git errors
372
+ - Bundle path is now correctly remembered on a read-only filesystem
373
+ - Gem binaries are installed to Gem.bindir, not #{Gem.dir}/bin
374
+ - Fetch gems from vendor/cache, even without --local
375
+ - Sort lockfile by platform as well as spec
376
+
377
+ ## 1.0.0.rc.3 (August 3, 2010)
378
+
379
+ Features:
380
+
381
+ - Deprecate --production flag for --deployment, since the former
382
+ was causing confusion with the :production group
383
+ - Add --gemfile option to `bundle check`
384
+ - Reduce memory usage of `bundle install` by 2-4x
385
+ - Improve message from `bundle check` under various conditions
386
+ - Better error when a changed Gemfile conflicts with Gemfile.lock
387
+
388
+ Bugfixes:
389
+
390
+ - Create bin/ directory if it is missing, then install binstubs
391
+ - Error nicely on the edge case of a pinned gem with no spec
392
+ - Do not require gems for other platforms
393
+ - Update git sources along with the gems they contain
394
+
395
+ ## 1.0.0.rc.2 (July 29, 2010)
396
+
397
+ - `bundle install path` was causing confusion, so we now print
398
+ a clarifying warning. The preferred way to install to a path
399
+ (which will not print the warning) is
400
+ `bundle install --path path/to/install`.
401
+ - `bundle install --system` installs to the default system
402
+ location ($BUNDLE_PATH or $GEM_HOME) even if you previously
403
+ used `bundle install --path`
404
+ - completely remove `--disable-shared-gems`. If you install to
405
+ system, you will not be isolated, while if you install to
406
+ another path, you will be isolated from gems installed to
407
+ the system. This was mostly an internal option whose naming
408
+ and semantics were extremely confusing.
409
+ - Add a `--production` option to `bundle install`:
410
+ - by default, installs to `vendor/bundle`. This can be
411
+ overridden with the `--path` option
412
+ - uses `--local` if `vendor/cache` is found. This will
413
+ guarantee that Bundler does not attempt to connect to
414
+ Rubygems and will use the gems cached in `vendor/cache`
415
+ instead
416
+ - Raises an exception if a Gemfile.lock is not found
417
+ - Raises an exception if you modify your Gemfile in development
418
+ but do not check in an updated Gemfile.lock
419
+ - Fixes a bug where switching a source from Rubygems to git
420
+ would always say "the git source is not checked out" when
421
+ running `bundle install`
422
+
423
+ NOTE: We received several reports of "the git source has not
424
+ been checked out. Please run bundle install". As far as we
425
+ can tell, these problems have two possible causes:
426
+
427
+ 1. `bundle install ~/.bundle` in one user, but actually running
428
+ the application as another user. Never install gems to a
429
+ directory scoped to a user (`~` or `$HOME`) in deployment.
430
+ 2. A bug that happened when changing a gem to a git source.
431
+
432
+ To mitigate several common causes of `(1)`, please use the
433
+ new `--production` flag. This flag is simply a roll-up of
434
+ the best practices we have been encouraging people to use
435
+ for deployment.
436
+
437
+ If you want to share gems across deployments, and you use
438
+ Capistrano, symlink release_path/current/vendor/bundle to
439
+ release_path/shared/bundle. This will keep deployments
440
+ snappy while maintaining the benefits of clean, deploy-time
441
+ isolation.
442
+
443
+ ## 1.0.0.rc.1 (July 26, 2010)
444
+
445
+ - Fixed a bug with `bundle install` on multiple machines and git
446
+
447
+ ## 1.0.0.beta.10 (July 25, 2010)
448
+
449
+ - Last release before 1.0.0.rc.1
450
+ - Added :mri as a valid platform (platforms :mri { gem "ruby-debug" })
451
+ - Fix `bundle install` immediately after modifying the :submodule option
452
+ - Don't write to Gemfile.lock if nothing has changed, fixing situations
453
+ where bundle install was run with a different user than the app
454
+ itself
455
+ - Fix a bug where other platforms were being wiped on `bundle update`
456
+ - Don't ask for root password on `bundle install` if not needed
457
+ - Avoid setting `$GEM_HOME` where not needed
458
+ - First solid pass of `bundle config`
459
+ - Add build options
460
+ - `bundle config build.mysql --with-mysql-config=/path/to/config`
461
+
462
+ ## 1.0.0.beta.9 (July 21, 2010)
463
+
464
+ - Fix install failure when switching from a path to git source
465
+ - Fix `bundle exec bundle *` in a bundle with --disable-shared-gems
466
+ - Fix `bundle *` from inside a bundle with --disable-shared-gem
467
+ - Shim Gem.refresh. This is used by Unicorn
468
+ - Fix install failure when a path's dependencies changed
469
+
470
+ ## 1.0.0.beta.8 (July 20, 2010)
471
+
472
+ - Fix a Beta 7 bug involving Ruby 1.9
473
+
474
+ ## 1.0.0.beta.7 (July 20, 2010, yanked)
475
+
476
+ - Running `bundle install` twice in a row with a git source always crashed
477
+
478
+ ## 1.0.0.beta.6 (July 20, 2010, yanked)
479
+
480
+ - Create executables with bundle install --binstubs
481
+ - You can customize the location (default is app/bin) with --binstubs other/location
482
+ - Fix a bug where the Gemfile.lock would be deleted even if the update was exited
483
+ - Fix a bug where cached gems for other platforms were sometimes deleted
484
+ - Clean up output when nothing was deleted from cache (it previously said
485
+ "Removing outdated gems ...")
486
+ - Improve performance of bundle install if the git gem was already checked out,
487
+ and the revision being used already exists locally
488
+ - Fix bundle show bundler in some cases
489
+ - Fix bugs with bundle update
490
+ - Don't ever run git commands at runtime (fixes a number of common passenger issues)
491
+ - Fixes an obscure bug where switching the source of a gem could fail to correctly
492
+ change the source of its dependencies
493
+ - Support multiple version dependencies in the Gemfile
494
+ (gem "rails", ">= 3.0.0.beta1", "<= 3.0.0")
495
+ - Raise an exception for ambiguous uses of multiple declarations of the same gem
496
+ (for instance, with different versions or sources).
497
+ - Fix cases where the same dependency appeared several times in the Gemfile.lock
498
+ - Fix a bug where require errors were being swallowed during Bundler.require
499
+
500
+ ## 1.0.0.beta.1
501
+
502
+ - No `bundle lock` command. Locking happens automatically on install or update
503
+ - No .bundle/environment.rb. Require 'bundler/setup' instead.
504
+ - $BUNDLE_HOME defaults to $GEM_HOME instead of ~/.bundle
505
+ - Remove lockfiles generated by 0.9
506
+
507
+ ## 0.9.26
508
+
509
+ Features:
510
+
511
+ - error nicely on incompatible 0.10 lockfiles
512
+
513
+ ## 0.9.25 (May 3, 2010)
514
+
515
+ Bugfixes:
516
+
517
+ - explicitly coerce Pathname objects to Strings for Ruby 1.9
518
+ - fix some newline weirdness in output from install command
519
+
520
+ ## 0.9.24 (April 22, 2010)
521
+
522
+ Features:
523
+
524
+ - fetch submodules for git sources
525
+ - limit the bundled version of bundler to the same as the one installing
526
+ - force relative paths in git gemspecs to avoid raising Gem::NameTooLong
527
+ - serialize GemCache sources correctly, so locking works
528
+ - raise Bundler::GemNotFound instead of calling exit! inside library code
529
+ - Rubygems 1.3.5 compatibility for the adventurous, not supported by me :)
530
+
531
+ Bugfixes:
532
+
533
+ - don't try to regenerate environment.rb if it is read-only
534
+ - prune outdated gems with the platform "ruby"
535
+ - prune cache without errors when there are directories or non-gem files
536
+ - don't re-write environment.rb if running after it has been loaded
537
+ - do not monkeypatch Specification#load_paths twice when inside a bundle
538
+
539
+ ## 0.9.23 (April 20, 2010)
540
+
541
+ Bugfixes:
542
+
543
+ - cache command no longer prunes gems created by an older rubygems version
544
+ - cache command no longer prunes gems that are for other platforms
545
+
546
+ ## 0.9.22 (April 20, 2010)
547
+
548
+ Features:
549
+
550
+ - cache command now prunes stale .gem files from vendor/cache
551
+ - init --gemspec command now generates development dependencies
552
+ - handle Polyglot's changes to Kernel#require with Bundler::ENV_LOADED (#287)
553
+ - remove .gem files generated after installing a gem from a :path (#286)
554
+ - improve install/lock messaging (#284)
555
+
556
+ Bugfixes:
557
+
558
+ - ignore cached gems that are for another platform (#288)
559
+ - install Windows gems that have no architecture set, like rcov (#277)
560
+ - exec command while locked now includes the bundler lib in $LOAD_PATH (#293)
561
+ - fix the `rake install` task
562
+ - add GemspecError so it can be raised without (further) error (#292)
563
+ - create a parent directory before cloning for git 1.5 compatibility (#285)
564
+
565
+ ## 0.9.21 (April 16, 2010)
566
+
567
+ Bugfixes:
568
+
569
+ - don't raise 'omg wtf' when lockfile is outdated
570
+
571
+ ## 0.9.20 (April 15, 2010)
572
+
573
+ Features:
574
+
575
+ - load YAML format gemspecs
576
+ - no backtraces when calling Bundler.setup if gems are missing
577
+ - no backtraces when trying to exec a file without the executable bit
578
+
579
+ Bugfixes:
580
+
581
+ - fix infinite recursion in Bundler.setup after loading a bundled Bundler gem
582
+ - request install instead of lock when env.rb is out of sync with Gemfile.lock
583
+
584
+ ## 0.9.19 (April 12, 2010)
585
+
586
+ Features:
587
+
588
+ - suggest `bundle install --relock` when the Gemfile has changed (#272)
589
+ - source support for Rubygems servers without prerelease gem indexes (#262)
590
+
591
+ Bugfixes:
592
+
593
+ - don't set up all groups every time Bundler.setup is called while locked (#263)
594
+ - fix #full_gem_path for git gems while locked (#268)
595
+ - eval gemspecs at the top level, not inside the Bundler class (#269)
596
+
597
+
598
+ ## 0.9.18 (April 8, 2010)
599
+
600
+ Features:
601
+
602
+ - console command that runs irb with bundle (and optional group) already loaded
603
+
604
+ Bugfixes:
605
+
606
+ - Bundler.setup now fully disables system gems, even when unlocked (#266, #246)
607
+ - fixes Yard, which found plugins in Gem.source_index that it could not load
608
+ - makes behaviour of `Bundler.require` consistent between locked and unlocked loads
609
+
610
+ ## 0.9.17 (April 7, 2010)
611
+
612
+ Features:
613
+
614
+ - Bundler.require now calls Bundler.setup automatically
615
+ - Gem::Specification#add_bundler_dependencies added for gemspecs
616
+
617
+ Bugfixes:
618
+
619
+ - Gem paths are not longer duplicated while loading bundler
620
+ - exec no longer duplicates RUBYOPT if it is already set correctly
621
+
622
+ ## 0.9.16 (April 3, 2010)
623
+
624
+ Features:
625
+
626
+ - exit gracefully on INT signal
627
+ - resolver output now indicates whether remote sources were checked
628
+ - print error instead of backtrace when exec cannot find a binary (#241)
629
+
630
+ Bugfixes:
631
+
632
+ - show, check, and open commands work again while locked (oops)
633
+ - show command for git gems
634
+ - outputs branch names other than master
635
+ - gets the correct sha from the checkout
636
+ - doesn't print sha twice if :ref is set
637
+ - report errors from bundler/setup.rb without backtraces (#243)
638
+ - fix Gem::Spec#git_version to not error on unloaded specs
639
+ - improve deprecation, Gemfile, and command error messages (#242)
640
+
641
+ ## 0.9.15 (April 1, 2010)
642
+
643
+ Features:
644
+
645
+ - use the env_file if possible instead of doing a runtime resolve
646
+ - huge speedup when calling Bundler.setup while locked
647
+ - ensures bundle exec is fast while locked
648
+ - regenerates env_file if it was generated by an older version
649
+ - update cached/packed gems when you update gems via bundle install
650
+
651
+ Bugfixes:
652
+
653
+ - prep for Rubygems 1.3.7 changes
654
+ - install command now pulls git branches correctly (#211)
655
+ - raise errors on invalid options in the Gemfile
656
+
657
+ ## 0.9.14 (March 30, 2010)
658
+
659
+ Features:
660
+
661
+ - install command output vastly improved
662
+ - installation message now accurate, with 'using' and 'installing'
663
+ - bundler gems no longer listed as 'system gems'
664
+ - show command output now includes sha and branch name for git gems
665
+ - init command now takes --gemspec option for bootstrapping gem Gemfiles
666
+ - Bundler.with_clean_env for shelling out to ruby scripts
667
+ - show command now aliased as 'list'
668
+ - VISUAL env var respected for GUI editors
669
+
670
+ Bugfixes:
671
+
672
+ - exec command now finds binaries from gems with no gemspec
673
+ - note source of Gemfile resolver errors
674
+ - don't blow up if git urls are changed
675
+
676
+ ## 0.9.13 (March 23, 2010)
677
+
678
+ Bugfixes:
679
+
680
+ - exec command now finds binaries from gems installed via :path
681
+ - gem dependencies are pulled in even if their type is nil
682
+ - paths with spaces have double-quotes to work on Windows
683
+ - set GEM_PATH in environment.rb so generators work with Rails 2
684
+
685
+ ## 0.9.12 (March 17, 2010)
686
+
687
+ - refactoring, internal cleanup, more solid specs
688
+
689
+ Features:
690
+
691
+ - check command takes a --without option
692
+ - check command exits 1 if the check fails
693
+
694
+ Bugfixes:
695
+
696
+ - perform a topological sort on resolved gems (#191)
697
+ - gems from git work even when paths or repos have spaces (#196)
698
+ - Specification#loaded_from returns a String, like Gem::Specification (#197)
699
+ - specs eval from inside the gem directory, even when locked
700
+ - virtual gemspecs are now saved in environment.rb for use when loading
701
+ - unify the Installer's local index and the runtime index (#204)
702
+
703
+ ## 0.9.11 (March 9, 2010)
704
+
705
+ - added roadmap with future development plans
706
+
707
+ Features:
708
+
709
+ - install command can take the path to the gemfile with --gemfile (#125)
710
+ - unknown command line options are now rejected (#163)
711
+ - exec command hugely sped up while locked (#177)
712
+ - show command prints the install path if you pass it a gem name (#148)
713
+ - open command edits an installed gem with $EDITOR (#148)
714
+ - Gemfile allows assigning an array of groups to a gem (#114)
715
+ - Gemfile allows :tag option on :git sources
716
+ - improve backtraces when a gemspec is invalid
717
+ - improve performance by installing gems from the cache if present
718
+
719
+ Bugfixes:
720
+
721
+ - normalize parameters to Bundler.require (#153)
722
+ - check now checks installed gems rather than cached gems (#162)
723
+ - don't update the gem index when installing after locking (#169)
724
+ - bundle parenthesises arguments for 1.8.6 (#179)
725
+ - gems can now be assigned to multiple groups without problems (#135)
726
+ - fix the warning when building extensions for a gem from git with Rubygems 1.3.6
727
+ - fix a Dependency.to_yaml error due to accidentally including sources and groups
728
+ - don't reinstall packed gems
729
+ - fix gems with git sources that are private repositories
730
+
731
+ ## 0.9.10 (March 1, 2010)
732
+
733
+ - depends on Rubygems 1.3.6
734
+
735
+ Bugfixes:
736
+
737
+ - support locking after install --without
738
+ - don't reinstall gems from the cache if they're already in the bundle
739
+ - fixes for Ruby 1.8.7 and 1.9
740
+
741
+ ## 0.9.9 (February 25, 2010)
742
+
743
+ Bugfixes:
744
+
745
+ - don't die if GEM_HOME is an empty string
746
+ - fixes for Ruby 1.8.6 and 1.9
747
+
748
+ ## 0.9.8 (February 23, 2010)
749
+
750
+ Features:
751
+
752
+ - pack command which both caches and locks
753
+ - descriptive error if a cached gem is missing
754
+ - remember the --without option after installing
755
+ - expand paths given in the Gemfile via the :path option
756
+ - add block syntax to the git and group options in the Gemfile
757
+ - support gems with extensions that don't admit they depend on rake
758
+ - generate gems using gem build gemspec so git gems can have native extensions
759
+ - print a useful warning if building a gem fails
760
+ - allow manual configuration via BUNDLE_PATH
761
+
762
+ Bugfixes:
763
+
764
+ - eval gemspecs in the gem directory so relative paths work
765
+ - make default spec for git sources valid
766
+ - don't reinstall gems that are already packed
767
+
768
+ ## 0.9.7 (February 17, 2010)
769
+
770
+ Bugfixes:
771
+
772
+ - don't say that a gem from an excluded group is "installing"
773
+ - improve crippling rubygems in locked scenarios
774
+
775
+ ## 0.9.6 (February 16, 2010)
776
+
777
+ Features:
778
+
779
+ - allow String group names
780
+ - a number of improvements in the documentation and error messages
781
+
782
+ Bugfixes:
783
+
784
+ - set SourceIndex#spec_dirs to solve a problem involving Rails 2.3 in unlocked mode
785
+ - ensure Rubygems is fully loaded in Ruby 1.9 before patching it
786
+ - fix `bundle install` for a locked app without a .bundle directory
787
+ - require gems in the order that the resolver determines
788
+ - make the tests platform agnostic so we can confirm that they're green on JRuby
789
+ - fixes for Ruby 1.9
790
+
791
+ ## 0.9.5 (Feburary 12, 2010)
792
+
793
+ Features:
794
+
795
+ - added support for :path => "relative/path"
796
+ - added support for older versions of git
797
+ - added `bundle install --disable-shared-gems`
798
+ - Bundler.require fails silently if a library does not have a file on the load path with its name
799
+ - Basic support for multiple rubies by namespacing the default bundle path using the version and engine
800
+
801
+ Bugfixes:
802
+
803
+ - if the bundle is locked and .bundle/environment.rb is not present when Bundler.setup is called, generate it
804
+ - same if it's not present with `bundle check`
805
+ - same if it's not present with `bundle install`