bundler 1.16.1 → 1.17.3

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

Potentially problematic release.


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

Files changed (143) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +195 -0
  3. data/README.md +5 -1
  4. data/bundler.gemspec +9 -2
  5. data/lib/bundler/build_metadata.rb +19 -4
  6. data/lib/bundler/cli/add.rb +15 -5
  7. data/lib/bundler/cli/binstubs.rb +8 -2
  8. data/lib/bundler/cli/check.rb +1 -1
  9. data/lib/bundler/cli/doctor.rb +47 -1
  10. data/lib/bundler/cli/exec.rb +4 -4
  11. data/lib/bundler/cli/gem.rb +5 -2
  12. data/lib/bundler/cli/init.rb +5 -0
  13. data/lib/bundler/cli/install.rb +10 -7
  14. data/lib/bundler/cli/list.rb +41 -5
  15. data/lib/bundler/cli/outdated.rb +8 -2
  16. data/lib/bundler/cli/pristine.rb +4 -0
  17. data/lib/bundler/cli/remove.rb +18 -0
  18. data/lib/bundler/cli/update.rb +3 -3
  19. data/lib/bundler/cli.rb +66 -22
  20. data/lib/bundler/compact_index_client/updater.rb +10 -1
  21. data/lib/bundler/current_ruby.rb +8 -1
  22. data/lib/bundler/definition.rb +48 -39
  23. data/lib/bundler/dep_proxy.rb +2 -2
  24. data/lib/bundler/dependency.rb +3 -2
  25. data/lib/bundler/deprecate.rb +2 -1
  26. data/lib/bundler/dsl.rb +19 -3
  27. data/lib/bundler/endpoint_specification.rb +1 -1
  28. data/lib/bundler/env.rb +10 -8
  29. data/lib/bundler/feature_flag.rb +7 -0
  30. data/lib/bundler/fetcher/downloader.rb +10 -5
  31. data/lib/bundler/fetcher/index.rb +2 -2
  32. data/lib/bundler/fetcher.rb +3 -3
  33. data/lib/bundler/friendly_errors.rb +2 -0
  34. data/lib/bundler/gem_helper.rb +1 -1
  35. data/lib/bundler/gem_version_promoter.rb +16 -2
  36. data/lib/bundler/injector.rb +173 -14
  37. data/lib/bundler/installer/gem_installer.rb +9 -2
  38. data/lib/bundler/installer/parallel_installer.rb +6 -1
  39. data/lib/bundler/installer.rb +41 -10
  40. data/lib/bundler/lazy_specification.rb +1 -1
  41. data/lib/bundler/mirror.rb +2 -2
  42. data/lib/bundler/plugin/events.rb +61 -0
  43. data/lib/bundler/plugin/index.rb +7 -2
  44. data/lib/bundler/plugin.rb +12 -5
  45. data/lib/bundler/process_lock.rb +1 -1
  46. data/lib/bundler/resolver/spec_group.rb +0 -5
  47. data/lib/bundler/resolver.rb +11 -10
  48. data/lib/bundler/ruby_version.rb +1 -1
  49. data/lib/bundler/rubygems_gem_installer.rb +7 -0
  50. data/lib/bundler/rubygems_integration.rb +9 -3
  51. data/lib/bundler/runtime.rb +10 -4
  52. data/lib/bundler/settings/validator.rb +23 -0
  53. data/lib/bundler/settings.rb +24 -3
  54. data/lib/bundler/shared_helpers.rb +33 -5
  55. data/lib/bundler/source/git/git_proxy.rb +6 -1
  56. data/lib/bundler/source/git.rb +2 -1
  57. data/lib/bundler/source/metadata.rb +2 -3
  58. data/lib/bundler/source/rubygems/remote.rb +4 -1
  59. data/lib/bundler/source/rubygems.rb +11 -2
  60. data/lib/bundler/source.rb +9 -9
  61. data/lib/bundler/spec_set.rb +4 -1
  62. data/lib/bundler/templates/Executable +1 -1
  63. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  64. data/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
  65. data/lib/bundler/templates/newgem/travis.yml.tt +2 -0
  66. data/lib/bundler/ui/shell.rb +3 -1
  67. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -1
  68. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +7 -2
  69. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  70. data/lib/bundler/version.rb +1 -1
  71. data/lib/bundler.rb +38 -16
  72. data/man/bundle-add.1 +18 -3
  73. data/man/bundle-add.1.txt +17 -5
  74. data/man/bundle-add.ronn +13 -2
  75. data/man/bundle-binstubs.1 +4 -4
  76. data/man/bundle-binstubs.1.txt +4 -4
  77. data/man/bundle-binstubs.ronn +3 -3
  78. data/man/bundle-check.1 +4 -4
  79. data/man/bundle-check.1.txt +6 -5
  80. data/man/bundle-check.ronn +3 -3
  81. data/man/bundle-clean.1 +1 -1
  82. data/man/bundle-clean.1.txt +1 -1
  83. data/man/bundle-config.1 +48 -6
  84. data/man/bundle-config.1.txt +64 -26
  85. data/man/bundle-config.ronn +34 -9
  86. data/man/bundle-doctor.1 +44 -0
  87. data/man/bundle-doctor.1.txt +44 -0
  88. data/man/bundle-doctor.ronn +33 -0
  89. data/man/bundle-exec.1 +4 -4
  90. data/man/bundle-exec.1.txt +9 -9
  91. data/man/bundle-exec.ronn +3 -3
  92. data/man/bundle-gem.1 +2 -2
  93. data/man/bundle-gem.1.txt +2 -2
  94. data/man/bundle-gem.ronn +1 -1
  95. data/man/bundle-info.1 +1 -1
  96. data/man/bundle-info.1.txt +1 -1
  97. data/man/bundle-init.1 +9 -4
  98. data/man/bundle-init.1.txt +16 -6
  99. data/man/bundle-init.ronn +15 -4
  100. data/man/bundle-inject.1 +4 -4
  101. data/man/bundle-inject.1.txt +5 -5
  102. data/man/bundle-inject.ronn +3 -3
  103. data/man/bundle-install.1 +7 -4
  104. data/man/bundle-install.1.txt +119 -108
  105. data/man/bundle-install.ronn +13 -4
  106. data/man/bundle-list.1 +32 -2
  107. data/man/bundle-list.1.txt +24 -2
  108. data/man/bundle-list.ronn +19 -1
  109. data/man/bundle-lock.1 +2 -2
  110. data/man/bundle-lock.1.txt +2 -2
  111. data/man/bundle-lock.ronn +1 -1
  112. data/man/bundle-open.1 +1 -1
  113. data/man/bundle-open.1.txt +1 -1
  114. data/man/bundle-outdated.1 +7 -3
  115. data/man/bundle-outdated.1.txt +11 -7
  116. data/man/bundle-outdated.ronn +5 -1
  117. data/man/bundle-package.1 +3 -3
  118. data/man/bundle-package.1.txt +6 -6
  119. data/man/bundle-package.ronn +3 -3
  120. data/man/bundle-platform.1 +1 -1
  121. data/man/bundle-platform.1.txt +1 -1
  122. data/man/bundle-pristine.1 +1 -1
  123. data/man/bundle-pristine.1.txt +1 -1
  124. data/man/bundle-remove.1 +31 -0
  125. data/man/bundle-remove.1.txt +34 -0
  126. data/man/bundle-remove.ronn +23 -0
  127. data/man/bundle-show.1 +3 -3
  128. data/man/bundle-show.1.txt +6 -4
  129. data/man/bundle-show.ronn +3 -2
  130. data/man/bundle-update.1 +17 -13
  131. data/man/bundle-update.1.txt +68 -63
  132. data/man/bundle-update.ronn +19 -15
  133. data/man/bundle-viz.1 +2 -2
  134. data/man/bundle-viz.1.txt +3 -2
  135. data/man/bundle-viz.ronn +1 -1
  136. data/man/bundle.1 +32 -28
  137. data/man/bundle.1.txt +31 -28
  138. data/man/bundle.ronn +30 -27
  139. data/man/gemfile.5 +19 -9
  140. data/man/gemfile.5.ronn +24 -9
  141. data/man/gemfile.5.txt +114 -97
  142. data/man/index.txt +2 -0
  143. metadata +16 -3
data/man/bundle.1.txt CHANGED
@@ -26,71 +26,74 @@ OPTIONS
26
26
  Print out additional logging information
27
27
 
28
28
  BUNDLE COMMANDS
29
- We divide bundle subcommands into primary commands and utilities.
29
+ We divide bundle subcommands into primary commands and utilities:
30
30
 
31
31
  PRIMARY COMMANDS
32
- [bundle install(1)][bundle-install]
32
+ bundle install(1) bundle-install.1.html
33
33
  Install the gems specified by the Gemfile or Gemfile.lock
34
34
 
35
- [bundle update(1)][bundle-update]
35
+ bundle update(1) bundle-update.1.html
36
36
  Update dependencies to their latest versions
37
37
 
38
- [bundle package(1)][bundle-package]
38
+ bundle package(1) bundle-package.1.html
39
39
  Package the .gem files required by your application into the
40
40
  vendor/cache directory
41
41
 
42
- [bundle exec(1)][bundle-exec]
43
- Execute a script in the context of the current bundle
42
+ bundle exec(1) bundle-exec.1.html
43
+ Execute a script in the current bundle
44
44
 
45
- [bundle config(1)][bundle-config]
46
- Specify and read configuration options for bundler
45
+ bundle config(1) bundle-config.1.html
46
+ Specify and read configuration options for Bundler
47
47
 
48
48
  bundle help(1)
49
49
  Display detailed help for each subcommand
50
50
 
51
51
  UTILITIES
52
- bundle add(1)
52
+ bundle add(1) bundle-add.1.html
53
53
  Add the named gem to the Gemfile and run bundle install
54
54
 
55
- bundle binstubs(1)
55
+ bundle binstubs(1) bundle-binstubs.1.html
56
56
  Generate binstubs for executables in a gem
57
57
 
58
- bundle check(1)
58
+ bundle check(1) bundle-check.1.html
59
59
  Determine whether the requirements for your application are
60
- installed and available to bundler
60
+ installed and available to Bundler
61
61
 
62
- bundle show(1)
62
+ bundle show(1) bundle-show.1.html
63
63
  Show the source location of a particular gem in the bundle
64
64
 
65
- [bundle outdated(1)][bundle-outdated]
65
+ bundle outdated(1) bundle-outdated.1.html
66
66
  Show all of the outdated gems in the current bundle
67
67
 
68
68
  bundle console(1)
69
- Start an IRB session in the context of the current bundle
69
+ Start an IRB session in the current bundle
70
70
 
71
- bundle open(1)
71
+ bundle open(1) bundle-open.1.html
72
72
  Open an installed gem in the editor
73
73
 
74
- [bundle lock(1)][bundle-lock]
74
+ bundle lock(1) bundle-lock.1.hmtl
75
75
  Generate a lockfile for your dependencies
76
76
 
77
- bundle viz(1)
77
+ bundle viz(1) bundle-viz.1.html
78
78
  Generate a visual representation of your dependencies
79
79
 
80
- bundle init(1)
80
+ bundle init(1) bundle-init.1.html
81
81
  Generate a simple Gemfile, placed in the current directory
82
82
 
83
- [bundle gem(1)][bundle-gem]
84
- Create a simple gem, suitable for development with bundler
83
+ bundle gem(1) bundle-gem.1.html
84
+ Create a simple gem, suitable for development with Bundler
85
85
 
86
- [bundle platform(1)][bundle-platform]
86
+ bundle platform(1) bundle-platform.1.html
87
87
  Display platform compatibility information
88
88
 
89
- bundle clean(1)
90
- Clean up unused gems in your bundler directory
89
+ bundle clean(1) bundle-clean.1.html
90
+ Clean up unused gems in your Bundler directory
91
91
 
92
- bundle doctor(1)
93
- Display warnings about common potential problems
92
+ bundle doctor(1) bundle-doctor.1.html
93
+ Display warnings about common problems
94
+
95
+ bundle remove(1) bundle-remove.1.html
96
+ Removes gems from the Gemfile
94
97
 
95
98
  PLUGINS
96
99
  When running a command that isn't listed in PRIMARY COMMANDS or UTILI-
@@ -99,7 +102,7 @@ PLUGINS
99
102
  it.
100
103
 
101
104
  OBSOLETE
102
- These commands are obsolete and should no longer be used
105
+ These commands are obsolete and should no longer be used:
103
106
 
104
107
  o bundle cache(1)
105
108
 
@@ -110,4 +113,4 @@ OBSOLETE
110
113
 
111
114
 
112
115
 
113
- July 2017 BUNDLE(1)
116
+ December 2018 BUNDLE(1)
data/man/bundle.ronn CHANGED
@@ -26,73 +26,76 @@ started, and Gemfile(5) for more information on the `Gemfile` format.
26
26
 
27
27
  ## BUNDLE COMMANDS
28
28
 
29
- We divide `bundle` subcommands into primary commands and utilities.
29
+ We divide `bundle` subcommands into primary commands and utilities:
30
30
 
31
31
  ## PRIMARY COMMANDS
32
32
 
33
- * [`bundle install(1)`][bundle-install]:
33
+ * [`bundle install(1)`](bundle-install.1.html):
34
34
  Install the gems specified by the `Gemfile` or `Gemfile.lock`
35
35
 
36
- * [`bundle update(1)`][bundle-update]:
36
+ * [`bundle update(1)`](bundle-update.1.html):
37
37
  Update dependencies to their latest versions
38
38
 
39
- * [`bundle package(1)`][bundle-package]:
39
+ * [`bundle package(1)`](bundle-package.1.html):
40
40
  Package the .gem files required by your application into the
41
41
  `vendor/cache` directory
42
42
 
43
- * [`bundle exec(1)`][bundle-exec]:
44
- Execute a script in the context of the current bundle
43
+ * [`bundle exec(1)`](bundle-exec.1.html):
44
+ Execute a script in the current bundle
45
45
 
46
- * [`bundle config(1)`][bundle-config]:
47
- Specify and read configuration options for bundler
46
+ * [`bundle config(1)`](bundle-config.1.html):
47
+ Specify and read configuration options for Bundler
48
48
 
49
49
  * `bundle help(1)`:
50
50
  Display detailed help for each subcommand
51
51
 
52
52
  ## UTILITIES
53
53
 
54
- * `bundle add(1)`:
54
+ * [`bundle add(1)`](bundle-add.1.html):
55
55
  Add the named gem to the Gemfile and run `bundle install`
56
56
 
57
- * `bundle binstubs(1)`:
57
+ * [`bundle binstubs(1)`](bundle-binstubs.1.html):
58
58
  Generate binstubs for executables in a gem
59
59
 
60
- * `bundle check(1)`:
60
+ * [`bundle check(1)`](bundle-check.1.html):
61
61
  Determine whether the requirements for your application are installed
62
- and available to bundler
62
+ and available to Bundler
63
63
 
64
- * `bundle show(1)`:
64
+ * [`bundle show(1)`](bundle-show.1.html):
65
65
  Show the source location of a particular gem in the bundle
66
66
 
67
- * [`bundle outdated(1)`][bundle-outdated]:
67
+ * [`bundle outdated(1)`](bundle-outdated.1.html):
68
68
  Show all of the outdated gems in the current bundle
69
69
 
70
70
  * `bundle console(1)`:
71
- Start an IRB session in the context of the current bundle
71
+ Start an IRB session in the current bundle
72
72
 
73
- * `bundle open(1)`:
73
+ * [`bundle open(1)`](bundle-open.1.html):
74
74
  Open an installed gem in the editor
75
75
 
76
- * [`bundle lock(1)`][bundle-lock]:
76
+ * [`bundle lock(1)`](bundle-lock.1.hmtl):
77
77
  Generate a lockfile for your dependencies
78
78
 
79
- * `bundle viz(1)`:
79
+ * [`bundle viz(1)`](bundle-viz.1.html):
80
80
  Generate a visual representation of your dependencies
81
81
 
82
- * `bundle init(1)`:
82
+ * [`bundle init(1)`](bundle-init.1.html):
83
83
  Generate a simple `Gemfile`, placed in the current directory
84
84
 
85
- * [`bundle gem(1)`][bundle-gem]:
86
- Create a simple gem, suitable for development with bundler
85
+ * [`bundle gem(1)`](bundle-gem.1.html):
86
+ Create a simple gem, suitable for development with Bundler
87
87
 
88
- * [`bundle platform(1)`][bundle-platform]:
88
+ * [`bundle platform(1)`](bundle-platform.1.html):
89
89
  Display platform compatibility information
90
90
 
91
- * `bundle clean(1)`:
92
- Clean up unused gems in your bundler directory
91
+ * [`bundle clean(1)`](bundle-clean.1.html):
92
+ Clean up unused gems in your Bundler directory
93
93
 
94
- * `bundle doctor(1)`:
95
- Display warnings about common potential problems
94
+ * [`bundle doctor(1)`](bundle-doctor.1.html):
95
+ Display warnings about common problems
96
+
97
+ * [`bundle remove(1)`](bundle-remove.1.html):
98
+ Removes gems from the Gemfile
96
99
 
97
100
  ## PLUGINS
98
101
 
@@ -102,7 +105,7 @@ and execute it, passing down any extra arguments to it.
102
105
 
103
106
  ## OBSOLETE
104
107
 
105
- These commands are obsolete and should no longer be used
108
+ These commands are obsolete and should no longer be used:
106
109
 
107
110
  * `bundle cache(1)`
108
111
  * `bundle show(1)`
data/man/gemfile.5 CHANGED
@@ -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 2017" "" ""
4
+ .TH "GEMFILE" "5" "November 2018" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -35,7 +35,7 @@ It is possible, but not recommended as of Bundler 1\.7, to add multiple global \
35
35
  Sources are checked for gems following the heuristics described in \fISOURCE PRIORITY\fR\. If a gem is found in more than one global source, Bundler will print a warning after installing the gem indicating which source was used, and listing the other sources where the gem is available\. A specific source can be selected for gems that need to use a non\-standard repository, suppressing this warning, by using the \fI\fB:source\fR option\fR or a \fI\fBsource\fR block\fR\.
36
36
  .
37
37
  .SS "CREDENTIALS"
38
- Some gem sources require a username and password\. Use [bundle config(1)][bundle\-config] to set the username and password for any of the sources that need it\. The command must be run once on each computer that will install the Gemfile, but this keeps the credentials from being stored in plain text in version control\.
38
+ Some gem sources require a username and password\. Use bundle config(1) \fIbundle\-config\.1\.html\fR to set the username and password for any of the sources that need it\. The command must be run once on each computer that will install the Gemfile, but this keeps the credentials from being stored in plain text in version control\.
39
39
  .
40
40
  .IP "" 4
41
41
  .
@@ -67,7 +67,7 @@ Credentials in the source URL will take precedence over credentials set using \f
67
67
  If your application requires a specific Ruby version or engine, specify your requirements using the \fBruby\fR method, with the following arguments\. All parameters are \fBOPTIONAL\fR unless otherwise specified\.
68
68
  .
69
69
  .SS "VERSION (required)"
70
- The version of Ruby that your application requires\. If your application requires an alternate Ruby engine, such as JRuby or Rubinius, this should be the Ruby version that the engine is compatible with\.
70
+ The version of Ruby that your application requires\. If your application requires an alternate Ruby engine, such as JRuby, Rubinius or TruffleRuby, this should be the Ruby version that the engine is compatible with\.
71
71
  .
72
72
  .IP "" 4
73
73
  .
@@ -248,11 +248,11 @@ There are a number of \fBGemfile\fR platforms:
248
248
  .
249
249
  .TP
250
250
  \fBruby\fR
251
- C Ruby (MRI) or Rubinius, but \fBNOT\fR Windows
251
+ C Ruby (MRI), Rubinius or TruffleRuby, but \fBNOT\fR Windows
252
252
  .
253
253
  .TP
254
254
  \fBmri\fR
255
- Same as \fIruby\fR, but not Rubinius
255
+ Same as \fIruby\fR, but only C Ruby (MRI)
256
256
  .
257
257
  .TP
258
258
  \fBmingw\fR
@@ -264,18 +264,22 @@ Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
264
264
  .
265
265
  .TP
266
266
  \fBrbx\fR
267
- Same as \fIruby\fR, but only Rubinius (not MRI)
267
+ Rubinius
268
268
  .
269
269
  .TP
270
270
  \fBjruby\fR
271
271
  JRuby
272
272
  .
273
273
  .TP
274
+ \fBtruffleruby\fR
275
+ TruffleRuby
276
+ .
277
+ .TP
274
278
  \fBmswin\fR
275
279
  Windows
276
280
  .
277
281
  .P
278
- You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, and \fBmswin\fR\.
282
+ You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, \fBtruffleruby\fR and \fBmswin\fR\.
279
283
  .
280
284
  .P
281
285
  To specify a version in addition to a platform, append the version number without the delimiter to the platform\. For example, to specify that a gem should only be used on platforms with Ruby 2\.3, use:
@@ -325,7 +329,7 @@ gem "nokogiri", :platforms => [:mri_18, :jruby]
325
329
  .IP "" 0
326
330
  .
327
331
  .P
328
- All operations involving groups (\fBbundle install\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\.
332
+ All operations involving groups (\fBbundle install\fR \fIbundle\-install\.1\.html\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\.
329
333
  .
330
334
  .SS "SOURCE"
331
335
  You can select an alternate Rubygems repository for a gem using the \':source\' option\.
@@ -349,6 +353,9 @@ Bundler will search for child dependencies of this gem by first looking in the s
349
353
  .P
350
354
  Selecting a specific source repository this way also suppresses the ambiguous gem warning described above in \fIGLOBAL SOURCES (#source)\fR\.
351
355
  .
356
+ .P
357
+ Using the \fB:source\fR option for an individual gem will also make that source available as a possible global source for any other gems which do not specify explicit sources\. Thus, when adding gems with explicit sources, it is recommended that you also ensure all other gems in the Gemfile are using explicit sources\.
358
+ .
352
359
  .SS "GIT"
353
360
  If necessary, you can specify that a gem is located at a particular git repository using the \fB:git\fR parameter\. The repository can be accessed via several protocols:
354
361
  .
@@ -633,6 +640,9 @@ In the case of the group block form the :optional option can be given to prevent
633
640
  .P
634
641
  In the case of the \fBgit\fR block form, the \fB:ref\fR, \fB:branch\fR, \fB:tag\fR, and \fB:submodules\fR options may be passed to the \fBgit\fR method, and all gems in the block will inherit those options\.
635
642
  .
643
+ .P
644
+ The presence of a \fBsource\fR block in a Gemfile also makes that source available as a possible global source for any other gems which do not specify explicit sources\. Thus, when defining source blocks, it is recommended that you also ensure all other gems in the Gemfile are using explicit sources, either via source blocks or \fB:source\fR directives on individual gems\.
645
+ .
636
646
  .SH "INSTALL_IF"
637
647
  The \fBinstall_if\fR method allows gems to be installed based on a proc or lambda\. This is especially useful for optional gems that can only be used if certain software is installed or some other conditions are met\.
638
648
  .
@@ -649,7 +659,7 @@ end
649
659
  .IP "" 0
650
660
  .
651
661
  .SH "GEMSPEC"
652
- The \.gemspec \fIhttp://guides\.rubygems\.org/specification\-reference/\fR file is where you provide metadata about your gem to Rubygems\. Some required Gemspec attributes include the name, description, and homepage of your gem\. This is also where you specify the dependencies your gem needs to run\.
662
+ The \fB\.gemspec\fR \fIhttp://guides\.rubygems\.org/specification\-reference/\fR file is where you provide metadata about your gem to Rubygems\. Some required Gemspec attributes include the name, description, and homepage of your gem\. This is also where you specify the dependencies your gem needs to run\.
653
663
  .
654
664
  .P
655
665
  If you wish to use Bundler to help install dependencies for a gem while it is being developed, use the \fBgemspec\fR method to pull in the dependencies listed in the \fB\.gemspec\fR file\.
data/man/gemfile.5.ronn CHANGED
@@ -35,7 +35,7 @@ this warning, by using the [`:source` option](#SOURCE) or a
35
35
 
36
36
  ### CREDENTIALS
37
37
 
38
- Some gem sources require a username and password. Use [bundle config(1)][bundle-config] to set
38
+ Some gem sources require a username and password. Use [bundle config(1)](bundle-config.1.html) to set
39
39
  the username and password for any of the sources that need it. The command must
40
40
  be run once on each computer that will install the Gemfile, but this keeps the
41
41
  credentials from being stored in plain text in version control.
@@ -59,8 +59,8 @@ All parameters are `OPTIONAL` unless otherwise specified.
59
59
  ### VERSION (required)
60
60
 
61
61
  The version of Ruby that your application requires. If your application
62
- requires an alternate Ruby engine, such as JRuby or Rubinius, this should be
63
- the Ruby version that the engine is compatible with.
62
+ requires an alternate Ruby engine, such as JRuby, Rubinius or TruffleRuby, this
63
+ should be the Ruby version that the engine is compatible with.
64
64
 
65
65
  ruby "1.9.3"
66
66
 
@@ -188,22 +188,24 @@ platforms.
188
188
  There are a number of `Gemfile` platforms:
189
189
 
190
190
  * `ruby`:
191
- C Ruby (MRI) or Rubinius, but `NOT` Windows
191
+ C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
192
192
  * `mri`:
193
- Same as _ruby_, but not Rubinius
193
+ Same as _ruby_, but only C Ruby (MRI)
194
194
  * `mingw`:
195
195
  Windows 32 bit 'mingw32' platform (aka RubyInstaller)
196
196
  * `x64_mingw`:
197
197
  Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
198
198
  * `rbx`:
199
- Same as _ruby_, but only Rubinius (not MRI)
199
+ Rubinius
200
200
  * `jruby`:
201
201
  JRuby
202
+ * `truffleruby`:
203
+ TruffleRuby
202
204
  * `mswin`:
203
205
  Windows
204
206
 
205
207
  You can restrict further by platform and version for all platforms *except* for
206
- `rbx`, `jruby`, and `mswin`.
208
+ `rbx`, `jruby`, `truffleruby` and `mswin`.
207
209
 
208
210
  To specify a version in addition to a platform, append the version number without
209
211
  the delimiter to the platform. For example, to specify that a gem should only be
@@ -228,7 +230,7 @@ As with groups, you can specify one or more platforms:
228
230
  gem "ruby-debug", :platforms => :mri_18
229
231
  gem "nokogiri", :platforms => [:mri_18, :jruby]
230
232
 
231
- All operations involving groups (`bundle install`, `Bundler.setup`,
233
+ All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
232
234
  `Bundler.require`) behave exactly the same as if any groups not
233
235
  matching the current platform were explicitly excluded.
234
236
 
@@ -251,6 +253,12 @@ Selecting a specific source repository this way also suppresses the ambiguous
251
253
  gem warning described above in
252
254
  [GLOBAL SOURCES (#source)](#GLOBAL-SOURCES).
253
255
 
256
+ Using the `:source` option for an individual gem will also make that source
257
+ available as a possible global source for any other gems which do not specify
258
+ explicit sources. Thus, when adding gems with explicit sources, it is
259
+ recommended that you also ensure all other gems in the Gemfile are using
260
+ explicit sources.
261
+
254
262
  ### GIT
255
263
 
256
264
  If necessary, you can specify that a gem is located at a particular
@@ -453,6 +461,13 @@ In the case of the `git` block form, the `:ref`, `:branch`, `:tag`,
453
461
  and `:submodules` options may be passed to the `git` method, and
454
462
  all gems in the block will inherit those options.
455
463
 
464
+ The presence of a `source` block in a Gemfile also makes that source
465
+ available as a possible global source for any other gems which do not specify
466
+ explicit sources. Thus, when defining source blocks, it is
467
+ recommended that you also ensure all other gems in the Gemfile are using
468
+ explicit sources, either via source blocks or `:source` directives on
469
+ individual gems.
470
+
456
471
  ## INSTALL_IF
457
472
 
458
473
  The `install_if` method allows gems to be installed based on a proc or lambda.
@@ -465,7 +480,7 @@ software is installed or some other conditions are met.
465
480
 
466
481
  ## GEMSPEC
467
482
 
468
- The [.gemspec](http://guides.rubygems.org/specification-reference/) file is where
483
+ The [`.gemspec`](http://guides.rubygems.org/specification-reference/) file is where
469
484
  you provide metadata about your gem to Rubygems. Some required Gemspec
470
485
  attributes include the name, description, and homepage of your gem. This is
471
486
  also where you specify the dependencies your gem needs to run.