bundler 1.10.6 → 1.11.2

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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +105 -0
  3. data/.rubocop_todo.yml +120 -0
  4. data/.travis.yml +8 -23
  5. data/CHANGELOG.md +95 -0
  6. data/CODE_OF_CONDUCT.md +6 -4
  7. data/DEVELOPMENT.md +4 -5
  8. data/README.md +2 -2
  9. data/Rakefile +71 -88
  10. data/bin/rake +14 -0
  11. data/bin/rspec +10 -0
  12. data/bin/rubocop +11 -0
  13. data/bundler.gemspec +17 -15
  14. data/exe/bundle +20 -0
  15. data/{bin → exe}/bundle_ruby +6 -4
  16. data/exe/bundler +20 -0
  17. data/lib/bundler/capistrano.rb +2 -2
  18. data/lib/bundler/cli/binstubs.rb +1 -2
  19. data/lib/bundler/cli/cache.rb +0 -1
  20. data/lib/bundler/cli/check.rb +7 -5
  21. data/lib/bundler/cli/clean.rb +0 -1
  22. data/lib/bundler/cli/common.rb +6 -7
  23. data/lib/bundler/cli/config.rb +69 -56
  24. data/lib/bundler/cli/console.rb +8 -8
  25. data/lib/bundler/cli/exec.rb +5 -4
  26. data/lib/bundler/cli/gem.rb +52 -40
  27. data/lib/bundler/cli/init.rb +5 -6
  28. data/lib/bundler/cli/inject.rb +1 -2
  29. data/lib/bundler/cli/install.rb +18 -21
  30. data/lib/bundler/cli/lock.rb +8 -3
  31. data/lib/bundler/cli/open.rb +4 -5
  32. data/lib/bundler/cli/outdated.rb +7 -8
  33. data/lib/bundler/cli/package.rb +1 -1
  34. data/lib/bundler/cli/platform.rb +2 -3
  35. data/lib/bundler/cli/show.rb +9 -9
  36. data/lib/bundler/cli/update.rb +2 -3
  37. data/lib/bundler/cli/viz.rb +1 -2
  38. data/lib/bundler/cli.rb +85 -74
  39. data/lib/bundler/constants.rb +1 -1
  40. data/lib/bundler/current_ruby.rb +38 -3
  41. data/lib/bundler/definition.rb +83 -88
  42. data/lib/bundler/dep_proxy.rb +11 -9
  43. data/lib/bundler/dependency.rb +17 -11
  44. data/lib/bundler/deployment.rb +2 -2
  45. data/lib/bundler/deprecate.rb +3 -3
  46. data/lib/bundler/dsl.rb +62 -43
  47. data/lib/bundler/env.rb +19 -12
  48. data/lib/bundler/environment.rb +1 -2
  49. data/lib/bundler/errors.rb +82 -0
  50. data/lib/bundler/fetcher/base.rb +20 -7
  51. data/lib/bundler/fetcher/dependency.rb +5 -5
  52. data/lib/bundler/fetcher/downloader.rb +1 -2
  53. data/lib/bundler/fetcher/index.rb +4 -7
  54. data/lib/bundler/fetcher.rb +49 -40
  55. data/lib/bundler/friendly_errors.rb +15 -8
  56. data/lib/bundler/gem_helper.rb +44 -35
  57. data/lib/bundler/gem_helpers.rb +7 -8
  58. data/lib/bundler/gem_remote_fetcher.rb +41 -0
  59. data/lib/bundler/gem_tasks.rb +4 -1
  60. data/lib/bundler/graph.rb +25 -24
  61. data/lib/bundler/index.rb +21 -18
  62. data/lib/bundler/injector.rb +2 -4
  63. data/lib/bundler/inline.rb +3 -3
  64. data/lib/bundler/installer/gem_installer.rb +76 -0
  65. data/lib/bundler/installer/parallel_installer.rb +22 -13
  66. data/lib/bundler/installer/standalone.rb +48 -0
  67. data/lib/bundler/installer.rb +57 -144
  68. data/lib/bundler/lazy_specification.rb +4 -5
  69. data/lib/bundler/lockfile_parser.rb +21 -19
  70. data/lib/bundler/man/bundle +2 -2
  71. data/lib/bundler/man/bundle-config +2 -2
  72. data/lib/bundler/man/bundle-config.txt +6 -4
  73. data/lib/bundler/man/bundle-exec +1 -1
  74. data/lib/bundler/man/bundle-exec.txt +1 -1
  75. data/lib/bundler/man/bundle-gem +80 -0
  76. data/lib/bundler/man/bundle-gem.txt +90 -0
  77. data/lib/bundler/man/bundle-install +37 -6
  78. data/lib/bundler/man/bundle-install.txt +68 -44
  79. data/lib/bundler/man/bundle-lock +55 -0
  80. data/lib/bundler/man/bundle-lock.txt +60 -0
  81. data/lib/bundler/man/bundle-package +1 -1
  82. data/lib/bundler/man/bundle-package.txt +1 -1
  83. data/lib/bundler/man/bundle-platform +1 -1
  84. data/lib/bundler/man/bundle-platform.txt +1 -1
  85. data/lib/bundler/man/bundle-update +1 -1
  86. data/lib/bundler/man/bundle-update.txt +1 -1
  87. data/lib/bundler/man/bundle.txt +2 -2
  88. data/lib/bundler/man/gemfile.5 +17 -1
  89. data/lib/bundler/man/gemfile.5.txt +12 -1
  90. data/lib/bundler/match_platform.rb +4 -4
  91. data/lib/bundler/psyched_yaml.rb +5 -5
  92. data/lib/bundler/remote_specification.rb +1 -1
  93. data/lib/bundler/resolver.rb +93 -88
  94. data/lib/bundler/retry.rb +9 -10
  95. data/lib/bundler/ruby_dsl.rb +1 -1
  96. data/lib/bundler/ruby_version.rb +7 -10
  97. data/lib/bundler/rubygems_ext.rb +32 -27
  98. data/lib/bundler/{gem_installer.rb → rubygems_gem_installer.rb} +2 -2
  99. data/lib/bundler/rubygems_integration.rb +85 -70
  100. data/lib/bundler/runtime.rb +65 -61
  101. data/lib/bundler/settings.rb +27 -26
  102. data/lib/bundler/setup.rb +3 -3
  103. data/lib/bundler/shared_helpers.rb +45 -20
  104. data/lib/bundler/similarity_detector.rb +19 -21
  105. data/lib/bundler/source/git/git_proxy.rb +52 -26
  106. data/lib/bundler/source/git.rb +29 -31
  107. data/lib/bundler/source/path/installer.rb +4 -4
  108. data/lib/bundler/source/path.rb +25 -28
  109. data/lib/bundler/source/rubygems/remote.rb +3 -3
  110. data/lib/bundler/source/rubygems.rb +62 -48
  111. data/lib/bundler/source.rb +4 -5
  112. data/lib/bundler/source_list.rb +4 -4
  113. data/lib/bundler/spec_set.rb +17 -15
  114. data/lib/bundler/ssl_certs/certificate_manager.rb +5 -6
  115. data/lib/bundler/stub_specification.rb +2 -2
  116. data/lib/bundler/templates/Executable +5 -5
  117. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +42 -6
  118. data/lib/bundler/templates/newgem/README.md.tt +1 -1
  119. data/lib/bundler/templates/newgem/Rakefile.tt +4 -2
  120. data/lib/bundler/templates/newgem/bin/setup.tt +2 -1
  121. data/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -2
  122. data/lib/bundler/ui/rg_proxy.rb +2 -2
  123. data/lib/bundler/ui/shell.rb +10 -6
  124. data/lib/bundler/ui.rb +3 -3
  125. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +82 -71
  126. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  127. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +9 -0
  128. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +40 -21
  129. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -0
  130. data/lib/bundler/vendored_molinillo.rb +1 -1
  131. data/lib/bundler/vendored_persistent.rb +3 -3
  132. data/lib/bundler/vendored_thor.rb +2 -2
  133. data/lib/bundler/version.rb +1 -1
  134. data/lib/bundler/vlad.rb +1 -1
  135. data/lib/bundler/worker.rb +4 -5
  136. data/lib/bundler.rb +99 -120
  137. data/man/bundle-config.ronn +4 -2
  138. data/man/bundle-gem.ronn +77 -0
  139. data/man/bundle-install.ronn +13 -6
  140. data/man/bundle-lock.ronn +47 -0
  141. data/man/bundle.ronn +1 -1
  142. data/man/gemfile.5.ronn +8 -0
  143. data/man/index.txt +1 -0
  144. metadata +36 -8
  145. data/bin/bundle +0 -21
  146. data/bin/bundler +0 -21
@@ -0,0 +1,55 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-LOCK" "1" "December 2015" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle lock\fR [\-\-update]
11
+ .
12
+ .IP "" 4
13
+ .
14
+ .nf
15
+
16
+ [\-\-local]
17
+ [\-\-print]
18
+ [\-\-lockfile=PATH]
19
+ .
20
+ .fi
21
+ .
22
+ .IP "" 0
23
+ .
24
+ .SH "DESCRIPTION"
25
+ Lock the gems specified in Gemfile\.
26
+ .
27
+ .SH "OPTIONS"
28
+ .
29
+ .TP
30
+ \fB\-\-update=<*gems>\fR
31
+ Ignores the existing lockfile\. Resolve then updates lockfile\. Taking a list of gems or updating all gems if no list is given\.
32
+ .
33
+ .TP
34
+ \fB\-\-local\fR
35
+ Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if a appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\.
36
+ .
37
+ .TP
38
+ \fB\-\-print\fR
39
+ Prints the lockfile to STDOUT instead of writing to the file system\.
40
+ .
41
+ .TP
42
+ \fB\-\-lockfile=<path>\fR
43
+ The path where the lockfile should be written to\.
44
+ .
45
+ .SH "UPDATING ALL GEMS"
46
+ If you run \fBbundle lock\fR with \fB\-\-update\fR option without list of gems, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\.
47
+ .
48
+ .SH "UPDATING A LIST OF GEMS"
49
+ Sometimes, you want to update a single gem in the Gemfile(5), and leave the rest of the gems that you specified locked to the versions in the \fBGemfile\.lock\fR\.
50
+ .
51
+ .P
52
+ For instance, you only want to update \fBnokogiri\fR, run \fBbundle lock \-\-update nokogiri\fR\.
53
+ .
54
+ .P
55
+ Bundler will update \fBnokogiri\fR and any of its dependencies, but leave the rest of the gems that you specified locked to the versions in the \fBGemfile\.lock\fR\.
@@ -0,0 +1,60 @@
1
+ BUNDLE-LOCK(1) BUNDLE-LOCK(1)
2
+
3
+
4
+
5
+ NAME
6
+ bundle-lock - Creates / Updates a lockfile without installing
7
+
8
+ SYNOPSIS
9
+ bundle lock [--update]
10
+
11
+
12
+
13
+ [--local]
14
+ [--print]
15
+ [--lockfile=PATH]
16
+
17
+
18
+
19
+ DESCRIPTION
20
+ Lock the gems specified in Gemfile.
21
+
22
+ OPTIONS
23
+ --update=<*gems>
24
+ Ignores the existing lockfile. Resolve then updates lockfile.
25
+ Taking a list of gems or updating all gems if no list is given.
26
+
27
+ --local
28
+ Do not attempt to connect to rubygems.org. Instead, Bundler will
29
+ use the gems already present in Rubygems' cache or in ven-
30
+ dor/cache. Note that if a appropriate platform-specific gem
31
+ exists on rubygems.org it will not be found.
32
+
33
+ --print
34
+ Prints the lockfile to STDOUT instead of writing to the file
35
+ system.
36
+
37
+ --lockfile=<path>
38
+ The path where the lockfile should be written to.
39
+
40
+ UPDATING ALL GEMS
41
+ If you run bundle lock with --update option without list of gems,
42
+ bundler will ignore any previously installed gems and resolve all
43
+ dependencies again based on the latest versions of all gems available
44
+ in the sources.
45
+
46
+ UPDATING A LIST OF GEMS
47
+ Sometimes, you want to update a single gem in the Gemfile(5), and leave
48
+ the rest of the gems that you specified locked to the versions in the
49
+ Gemfile.lock.
50
+
51
+ For instance, you only want to update nokogiri, run bundle lock
52
+ --update nokogiri.
53
+
54
+ Bundler will update nokogiri and any of its dependencies, but leave the
55
+ rest of the gems that you specified locked to the versions in the Gem-
56
+ file.lock.
57
+
58
+
59
+
60
+ December 2015 BUNDLE-LOCK(1)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PACKAGE" "1" "May 2015" "" ""
4
+ .TH "BUNDLE\-PACKAGE" "1" "September 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-package\fR \- Package your needed \fB\.gem\fR files into your application
@@ -70,4 +70,4 @@ REMOTE FETCHING
70
70
 
71
71
 
72
72
 
73
- May 2015 BUNDLE-PACKAGE(1)
73
+ September 2015 BUNDLE-PACKAGE(1)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PLATFORM" "1" "May 2015" "" ""
4
+ .TH "BUNDLE\-PLATFORM" "1" "September 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-platform\fR \- Displays platform compatibility information
@@ -54,4 +54,4 @@ OPTIONS
54
54
 
55
55
 
56
56
 
57
- May 2015 BUNDLE-PLATFORM(1)
57
+ September 2015 BUNDLE-PLATFORM(1)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-UPDATE" "1" "May 2015" "" ""
4
+ .TH "BUNDLE\-UPDATE" "1" "September 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-update\fR \- Update your gems to the latest available versions
@@ -218,4 +218,4 @@ RECOMMENDED WORKFLOW
218
218
 
219
219
 
220
220
 
221
- May 2015 BUNDLE-UPDATE(1)
221
+ September 2015 BUNDLE-UPDATE(1)
@@ -74,7 +74,7 @@ UTILITIES
74
74
  bundle init(1)
75
75
  Generate a simple Gemfile, placed in the current directory
76
76
 
77
- bundle gem(1)
77
+ bundle gem(1) bundle-gem.1.html
78
78
  Create a simple gem, suitable for development with bundler
79
79
 
80
80
  bundle platform(1) bundle-platform.1.html
@@ -99,4 +99,4 @@ OBSOLETE
99
99
 
100
100
 
101
101
 
102
- June 2015 BUNDLE(1)
102
+ October 2015 BUNDLE(1)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GEMFILE" "5" "July 2015" "" ""
4
+ .TH "GEMFILE" "5" "September 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -260,6 +260,10 @@ C Ruby (MRI) or Rubinius, but \fBNOT\fR Windows
260
260
  \fIruby\fR \fBAND\fR version 2\.2
261
261
  .
262
262
  .TP
263
+ \fBruby_23\fR
264
+ \fIruby\fR \fBAND\fR version 2\.3
265
+ .
266
+ .TP
263
267
  \fBmri\fR
264
268
  Same as \fIruby\fR, but not Rubinius
265
269
  .
@@ -284,6 +288,10 @@ Same as \fIruby\fR, but not Rubinius
284
288
  \fImri\fR \fBAND\fR version 2\.2
285
289
  .
286
290
  .TP
291
+ \fBmri_23\fR
292
+ \fImri\fR \fBAND\fR version 2\.3
293
+ .
294
+ .TP
287
295
  \fBrbx\fR
288
296
  Same as \fIruby\fR, but only Rubinius (not MRI)
289
297
  .
@@ -320,6 +328,10 @@ Windows 32 bit \'mingw32\' platform (aka RubyInstaller)
320
328
  \fImingw\fR \fBAND\fR version 2\.2
321
329
  .
322
330
  .TP
331
+ \fBmingw_23\fR
332
+ \fImingw\fR \fBAND\fR version 2\.3
333
+ .
334
+ .TP
323
335
  \fBx64_mingw\fR
324
336
  Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
325
337
  .
@@ -335,6 +347,10 @@ Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
335
347
  \fBx64_mingw_22\fR
336
348
  \fIx64_mingw\fR \fBAND\fR version 2\.2
337
349
  .
350
+ .TP
351
+ \fBx64_mingw_23\fR
352
+ \fIx64_mingw\fR \fBAND\fR version 2\.3
353
+ .
338
354
  .P
339
355
  As with groups, you can specify one or more platforms:
340
356
  .
@@ -237,6 +237,9 @@ GEMS (#gem)
237
237
  ruby_22
238
238
  ruby AND version 2.2
239
239
 
240
+ ruby_23
241
+ ruby AND version 2.3
242
+
240
243
  mri Same as ruby, but not Rubinius
241
244
 
242
245
  mri_18 mri AND version 1.8
@@ -249,6 +252,8 @@ GEMS (#gem)
249
252
 
250
253
  mri_22 mri AND version 2.2
251
254
 
255
+ mri_23 mri AND version 2.3
256
+
252
257
  rbx Same as ruby, but only Rubinius (not MRI)
253
258
 
254
259
  jruby JRuby
@@ -272,6 +277,9 @@ GEMS (#gem)
272
277
  mingw_22
273
278
  mingw AND version 2.2
274
279
 
280
+ mingw_23
281
+ mingw AND version 2.3
282
+
275
283
  x64_mingw
276
284
  Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
277
285
 
@@ -284,6 +292,9 @@ GEMS (#gem)
284
292
  x64_mingw_22
285
293
  x64_mingw AND version 2.2
286
294
 
295
+ x64_mingw_23
296
+ x64_mingw AND version 2.3
297
+
287
298
  As with groups, you can specify one or more platforms:
288
299
 
289
300
 
@@ -618,4 +629,4 @@ SOURCE PRIORITY
618
629
 
619
630
 
620
631
 
621
- July 2015 GEMFILE(5)
632
+ September 2015 GEMFILE(5)
@@ -1,13 +1,13 @@
1
- require 'bundler/gem_helpers'
1
+ require "bundler/gem_helpers"
2
2
 
3
3
  module Bundler
4
4
  module MatchPlatform
5
5
  include GemHelpers
6
6
 
7
7
  def match_platform(p)
8
- Gem::Platform::RUBY == platform or
9
- platform.nil? or p == platform or
10
- generic(Gem::Platform.new(platform)) === p
8
+ Gem::Platform::RUBY == platform ||
9
+ platform.nil? || p == platform ||
10
+ generic(Gem::Platform.new(platform)) === p
11
11
  end
12
12
  end
13
13
  end
@@ -1,26 +1,26 @@
1
1
  # Psych could be a gem, so try to ask for it
2
2
  begin
3
- gem 'psych'
3
+ gem "psych"
4
4
  rescue LoadError
5
5
  end if defined?(gem)
6
6
 
7
7
  # Psych could just be in the stdlib
8
8
  # but it's too late if Syck is already loaded
9
9
  begin
10
- require 'psych' unless defined?(Syck)
10
+ require "psych" unless defined?(Syck)
11
11
  rescue LoadError
12
12
  # Apparently Psych wasn't available. Oh well.
13
13
  end
14
14
 
15
15
  # At least load the YAML stdlib, whatever that may be
16
- require 'yaml' unless defined?(YAML.dump)
16
+ require "yaml" unless defined?(YAML.dump)
17
17
 
18
18
  module Bundler
19
19
  # On encountering invalid YAML,
20
20
  # Psych raises Psych::SyntaxError
21
21
  if defined?(::Psych::SyntaxError)
22
- YamlSyntaxError = ::Psych::SyntaxError
22
+ YamlLibrarySyntaxError = ::Psych::SyntaxError
23
23
  else # Syck raises ArgumentError
24
- YamlSyntaxError = ::ArgumentError
24
+ YamlLibrarySyntaxError = ::ArgumentError
25
25
  end
26
26
  end
@@ -27,7 +27,7 @@ module Bundler
27
27
  end
28
28
 
29
29
  def full_name
30
- if platform == Gem::Platform::RUBY or platform.nil? then
30
+ if platform == Gem::Platform::RUBY || platform.nil?
31
31
  "#{@name}-#{@version}"
32
32
  else
33
33
  "#{@name}-#{@version}-#{platform}"