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
@@ -34,8 +34,8 @@ module Bundler
34
34
  @rubygems_aggregate = Source::Rubygems.new
35
35
 
36
36
  if lockfile.match(/<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|/)
37
- raise LockfileError, "Your Gemfile.lock contains merge conflicts.\n" \
38
- "Run `git checkout HEAD -- Gemfile.lock` first to get a clean lock."
37
+ raise LockfileError, "Your #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} contains merge conflicts.\n" \
38
+ "Run `git checkout HEAD -- #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` first to get a clean lock."
39
39
  end
40
40
 
41
41
  lockfile.split(/(?:\r?\n)+/).each do |line|
@@ -59,7 +59,7 @@ module Bundler
59
59
  warn_for_outdated_bundler_version
60
60
  rescue ArgumentError => e
61
61
  Bundler.ui.debug(e)
62
- raise LockfileError, "Your lockfile is unreadable. Run `rm Gemfile.lock` " \
62
+ raise LockfileError, "Your lockfile is unreadable. Run `rm #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` " \
63
63
  "and then `bundle install` to generate a new lockfile."
64
64
  end
65
65
 
@@ -92,7 +92,8 @@ module Bundler
92
92
  case line
93
93
  when GIT, GEM, PATH
94
94
  @current_source = nil
95
- @opts, @type = {}, line
95
+ @opts = {}
96
+ @type = line
96
97
  when SPECS
97
98
  case @type
98
99
  when PATH
@@ -102,7 +103,7 @@ module Bundler
102
103
  @current_source = TYPES[@type].from_lock(@opts)
103
104
  # Strip out duplicate GIT sections
104
105
  if @sources.include?(@current_source)
105
- @current_source = @sources.find { |s| s == @current_source }
106
+ @current_source = @sources.find {|s| s == @current_source }
106
107
  else
107
108
  @sources << @current_source
108
109
  end
@@ -131,19 +132,21 @@ module Bundler
131
132
  end
132
133
 
133
134
  NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'
134
- NAME_VERSION_2 = %r{^ {2}#{NAME_VERSION}(!)?$}
135
- NAME_VERSION_4 = %r{^ {4}#{NAME_VERSION}$}
136
- NAME_VERSION_6 = %r{^ {6}#{NAME_VERSION}$}
135
+ NAME_VERSION_2 = /^ {2}#{NAME_VERSION}(!)?$/
136
+ NAME_VERSION_4 = /^ {4}#{NAME_VERSION}$/
137
+ NAME_VERSION_6 = /^ {6}#{NAME_VERSION}$/
137
138
 
138
139
  def parse_dependency(line)
139
140
  if line =~ NAME_VERSION_2
140
- name, version, pinned = $1, $2, $4
141
- version = version.split(",").map { |d| d.strip } if version
141
+ name = $1
142
+ version = $2
143
+ pinned = $4
144
+ version = version.split(",").map(&:strip) if version
142
145
 
143
146
  dep = Bundler::Dependency.new(name, version)
144
147
 
145
- if pinned && dep.name != 'bundler'
146
- spec = @specs.find {|k, v| v.name == dep.name }
148
+ if pinned && dep.name != "bundler"
149
+ spec = @specs.find {|_, v| v.name == dep.name }
147
150
  dep.source = spec.last.source if spec
148
151
 
149
152
  # Path sources need to know what the default name / version
@@ -162,7 +165,8 @@ module Bundler
162
165
 
163
166
  def parse_spec(line)
164
167
  if line =~ NAME_VERSION_4
165
- name, version = $1, Gem::Version.new($2)
168
+ name = $1
169
+ version = Gem::Version.new($2)
166
170
  platform = $3 ? Gem::Platform.new($3) : Gem::Platform::RUBY
167
171
  @current_spec = LazySpecification.new(name, version, platform)
168
172
  @current_spec.source = @current_source
@@ -171,17 +175,16 @@ module Bundler
171
175
  # duplicate GIT sections)
172
176
  @specs[@current_spec.identifier] ||= @current_spec
173
177
  elsif line =~ NAME_VERSION_6
174
- name, version = $1, $2
175
- version = version.split(',').map { |d| d.strip } if version
178
+ name = $1
179
+ version = $2
180
+ version = version.split(",").map(&:strip) if version
176
181
  dep = Gem::Dependency.new(name, version)
177
182
  @current_spec.dependencies << dep
178
183
  end
179
184
  end
180
185
 
181
186
  def parse_platform(line)
182
- if line =~ /^ (.*)$/
183
- @platforms << Gem::Platform.new($1)
184
- end
187
+ @platforms << Gem::Platform.new($1) if line =~ /^ (.*)$/
185
188
  end
186
189
 
187
190
  def parse_bundled_with(line)
@@ -190,6 +193,5 @@ module Bundler
190
193
  @bundler_version = Gem::Version.create(line)
191
194
  end
192
195
  end
193
-
194
196
  end
195
197
  end
@@ -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" "1" "June 2015" "" ""
4
+ .TH "BUNDLE" "1" "October 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -93,7 +93,7 @@ Generate a visual representation of your dependencies
93
93
  Generate a simple \fBGemfile\fR, placed in the current directory
94
94
  .
95
95
  .TP
96
- \fBbundle gem(1)\fR
96
+ bundle gem(1) \fIbundle\-gem\.1\.html\fR
97
97
  Create a simple gem, suitable for development with bundler
98
98
  .
99
99
  .TP
@@ -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\-CONFIG" "1" "July 2015" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "October 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -84,7 +84,7 @@ Any periods in the configuration keys must be replaced with two underscores when
84
84
  The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
85
85
  .
86
86
  .IP "\(bu" 4
87
- \fBpath\fR (\fBBUNDLE_PATH\fR): The location on disk to install gems\. Defaults to \fB$GEM_HOME\fR in development and \fBvendor/bundle\fR when \fB\-\-deployment\fR is used
87
+ \fBpath\fR (\fBBUNDLE_PATH\fR): The location on disk where all gems in your bundle will be located regardless of \fB$GEM_HOME\fR or \fB$GEM_PATH\fR values\. Bundle gems not found in this location will be installed by \fBbundle install\fR\. Defaults to \fBGem\.dir\fR\. When \-\-deployment is used, defaults to vendor/bundle\.
88
88
  .
89
89
  .IP "\(bu" 4
90
90
  \fBfrozen\fR (\fBBUNDLE_FROZEN\fR): Disallow changes to the \fBGemfile\fR\. Defaults to \fBtrue\fR when \fB\-\-deployment\fR is used\.
@@ -97,9 +97,11 @@ LIST OF AVAILABLE KEYS
97
97
  You can learn more about their operation in bundle install(1) bun-
98
98
  dle-install.1.html.
99
99
 
100
- o path (BUNDLE_PATH): The location on disk to install gems. Defaults
101
- to $GEM_HOME in development and vendor/bundle when --deployment is
102
- used
100
+ o path (BUNDLE_PATH): The location on disk where all gems in your
101
+ bundle will be located regardless of $GEM_HOME or $GEM_PATH values.
102
+ Bundle gems not found in this location will be installed by bundle
103
+ install. Defaults to Gem.dir. When --deployment is used, defaults
104
+ to vendor/bundle.
103
105
 
104
106
  o frozen (BUNDLE_FROZEN): Disallow changes to the Gemfile. Defaults
105
107
  to true when --deployment is used.
@@ -235,4 +237,4 @@ CREDENTIALS FOR GEM SOURCES
235
237
 
236
238
 
237
239
 
238
- July 2015 BUNDLE-CONFIG(1)
240
+ October 2015 BUNDLE-CONFIG(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\-EXEC" "1" "July 2015" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "September 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -160,4 +160,4 @@ RUBYGEMS PLUGINS
160
160
 
161
161
 
162
162
 
163
- July 2015 BUNDLE-EXEC(1)
163
+ September 2015 BUNDLE-EXEC(1)
@@ -0,0 +1,80 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-GEM" "1" "October 2015" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle gem\fR \fIGEM_NAME\fR \fIOPTIONS\fR
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Generates a directory named \fBGEM_NAME\fR with a \fBRakefile\fR, \fBGEM_NAME\.gemspec\fR, and other supporting files and directories that can be used to develop a rubygem with that name\.
14
+ .
15
+ .P
16
+ Run \fBrake \-T\fR in the resulting project for a list of Rake tasks that can used to test and publish the gem to rubygems\.org\.
17
+ .
18
+ .P
19
+ The generated project skeleton can be customized with OPTIONS, as explained below\. Note that these options can also be specified via Bundler\'s global configuration file using the following names:
20
+ .
21
+ .IP "\(bu" 4
22
+ \fBgem\.coc\fR
23
+ .
24
+ .IP "\(bu" 4
25
+ \fBgem\.mit\fR
26
+ .
27
+ .IP "\(bu" 4
28
+ \fBgem\.test\fR
29
+ .
30
+ .IP "" 0
31
+ .
32
+ .SH "OPTIONS"
33
+ .
34
+ .TP
35
+ \fB\-b\fR or \fB\-\-bin\fR
36
+ Specify that Bundler should create a binary (as \fBexe/GEM_NAME\fR) in the generated rubygem project\. This binary will also be added to the \fBGEM_NAME\.gemspec\fR manifest\. This behavior is disabled by default\.
37
+ .
38
+ .TP
39
+ \fB\-\-no\-bin\fR
40
+ Do not create a binary (overrides \fB\-\-bin\fR specified in the global config)\.
41
+ .
42
+ .TP
43
+ \fB\-\-coc\fR
44
+ Add a \fBCODE_OF_CONDUCT\.md\fR file to the root of the generated project\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
45
+ .
46
+ .TP
47
+ \fB\-\-no\-coc\fR
48
+ Do not create a \fBCODE_OF_CONDUCT\.md\fR (overrides \fB\-\-coc\fR specified in the global config)\.
49
+ .
50
+ .TP
51
+ \fB\-\-ext\fR
52
+ Add boilerplate for C extension code to the generated project\. This behavior is disabled by default\.
53
+ .
54
+ .TP
55
+ \fB\-\-no\-ext\fR
56
+ Do not add C extension code (overrides \fB\-\-ext\fR specified in the global config)\.
57
+ .
58
+ .TP
59
+ \fB\-\-mit\fR
60
+ Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated project\. Your name from the global git config is used for the copyright statement\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
61
+ .
62
+ .TP
63
+ \fB\-\-no\-mit\fR
64
+ Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
65
+ .
66
+ .TP
67
+ \fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR
68
+ Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR and \fBrspec\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
69
+ .
70
+ .TP
71
+ \fB\-e\fR, \fB\-\-edit[=EDITOR]\fR
72
+ Open the resulting GEM_NAME\.gemspec in EDITOR, or the default editor if not specified\. The default is \fB$BUNDLER_EDITOR\fR, \fB$VISUAL\fR, or \fB$EDITOR\fR\.
73
+ .
74
+ .SH "SEE ALSO"
75
+ .
76
+ .IP "\(bu" 4
77
+ bundle\-config(1)
78
+ .
79
+ .IP "" 0
80
+
@@ -0,0 +1,90 @@
1
+ BUNDLE-GEM(1) BUNDLE-GEM(1)
2
+
3
+
4
+
5
+ NAME
6
+ bundle-gem - Generate a project skeleton for creating a rubygem
7
+
8
+ SYNOPSIS
9
+ bundle gem GEM_NAME OPTIONS
10
+
11
+ DESCRIPTION
12
+ Generates a directory named GEM_NAME with a Rakefile, GEM_NAME.gemspec,
13
+ and other supporting files and directories that can be used to develop
14
+ a rubygem with that name.
15
+
16
+ Run rake -T in the resulting project for a list of Rake tasks that can
17
+ used to test and publish the gem to rubygems.org.
18
+
19
+ The generated project skeleton can be customized with OPTIONS, as
20
+ explained below. Note that these options can also be specified via
21
+ Bundler's global configuration file using the following names:
22
+
23
+ o gem.coc
24
+
25
+ o gem.mit
26
+
27
+ o gem.test
28
+
29
+
30
+
31
+ OPTIONS
32
+ -b or --bin
33
+ Specify that Bundler should create a binary (as exe/GEM_NAME) in
34
+ the generated rubygem project. This binary will also be added to
35
+ the GEM_NAME.gemspec manifest. This behavior is disabled by
36
+ default.
37
+
38
+ --no-bin
39
+ Do not create a binary (overrides --bin specified in the global
40
+ config).
41
+
42
+ --coc Add a CODE_OF_CONDUCT.md file to the root of the generated
43
+ project. If this option is unspecified, an interactive prompt
44
+ will be displayed and the answer will be saved in Bundler's
45
+ global config for future bundle gem use.
46
+
47
+ --no-coc
48
+ Do not create a CODE_OF_CONDUCT.md (overrides --coc specified in
49
+ the global config).
50
+
51
+ --ext Add boilerplate for C extension code to the generated project.
52
+ This behavior is disabled by default.
53
+
54
+ --no-ext
55
+ Do not add C extension code (overrides --ext specified in the
56
+ global config).
57
+
58
+ --mit Add an MIT license to a LICENSE.txt file in the root of the gen-
59
+ erated project. Your name from the global git config is used for
60
+ the copyright statement. If this option is unspecified, an
61
+ interactive prompt will be displayed and the answer will be
62
+ saved in Bundler's global config for future bundle gem use.
63
+
64
+ --no-mit
65
+ Do not create a LICENSE.txt (overrides --mit specified in the
66
+ global config).
67
+
68
+ -t, --test=minitest, --test=rspec
69
+ Specify the test framework that Bundler should use when generat-
70
+ ing the project. Acceptable values are minitest and rspec. The
71
+ GEM_NAME.gemspec will be configured and a skeleton test/spec
72
+ directory will be created based on this option. If this option
73
+ is unspecified, an interactive prompt will be displayed and the
74
+ answer will be saved in Bundler's global config for future bun-
75
+ dle gem use.
76
+
77
+ -e, --edit[=EDITOR]
78
+ Open the resulting GEM_NAME.gemspec in EDITOR, or the default
79
+ editor if not specified. The default is $BUNDLER_EDITOR,
80
+ $VISUAL, or $EDITOR.
81
+
82
+ SEE ALSO
83
+ o bundle-config(1)
84
+
85
+
86
+
87
+
88
+
89
+
90
+ October 2015 BUNDLE-GEM(1)
@@ -1,13 +1,40 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INSTALL" "1" "July 2015" "" ""
4
+ .TH "BUNDLE\-INSTALL" "1" "December 2015" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle install\fR [\-\-binstubs[=DIRECTORY]] [\-\-clean] [\-\-full\-index] [\-\-gemfile=GEMFILE] [\-\-jobs=NUMBER] [\-\-local] [\-\-deployment] [\-\-no\-cache] [\-\-no\-prune] [\-\-path PATH] [\-\-system] [\-\-quiet] [\-\-retry=NUMBER] [\-\-shebang] [\-\-standalone[=GROUP[ GROUP\.\.\.]]] [\-\-trust\-policy=POLICY] [\-\-without=GROUP[ GROUP\.\.\.]] [\-\-with=GROUP[ GROUP\.\.\.]]
10
+ \fBbundle install\fR [\-\-binstubs[=DIRECTORY]]
11
+ .
12
+ .IP "" 4
13
+ .
14
+ .nf
15
+
16
+ [\-\-clean]
17
+ [\-\-full\-index]
18
+ [\-\-gemfile=GEMFILE]
19
+ [\-\-jobs=NUMBER]
20
+ [\-\-local]
21
+ [\-\-deployment]
22
+ [\-\-force]
23
+ [\-\-no\-cache]
24
+ [\-\-no\-prune]
25
+ [\-\-path PATH]
26
+ [\-\-system]
27
+ [\-\-quiet]
28
+ [\-\-retry=NUMBER]
29
+ [\-\-shebang]
30
+ [\-\-standalone[=GROUP[ GROUP\.\.\.]]]
31
+ [\-\-trust\-policy=POLICY]
32
+ [\-\-without=GROUP[ GROUP\.\.\.]]
33
+ [\-\-with=GROUP[ GROUP\.\.\.]]
34
+ .
35
+ .fi
36
+ .
37
+ .IP "" 0
11
38
  .
12
39
  .SH "DESCRIPTION"
13
40
  Install the gems specified in your Gemfile(5)\. If this is the first time you run bundle install (and a \fBGemfile\.lock\fR does not exist), Bundler will fetch all remote sources, resolve dependencies and install all needed gems\.
@@ -38,7 +65,7 @@ The location of the Gemfile(5) which Bundler should use\. This defaults to a Gem
38
65
  .
39
66
  .TP
40
67
  \fB\-\-jobs=[<number>]\fR
41
- Install gems by starting \fInumber\fR of workers parallely\.
68
+ The maximum number of parallel download and install jobs\. The default is \fB1\fR\.
42
69
  .
43
70
  .TP
44
71
  \fB\-\-local\fR
@@ -46,7 +73,11 @@ Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the
46
73
  .
47
74
  .TP
48
75
  \fB\-\-deployment\fR
49
- In \fIdeployment mode\fR, Bundler will \'roll\-out\' the bundle for \fBproduction\fR use\. Please check carefully if you want to have this option enabled in \fBdevelopment\fR or \fBtest\fR environments\.
76
+ In \fIdeployment mode\fR, Bundler will \'roll\-out\' the bundle for production or CI use\. Please check carefully if you want to have this option enabled in your development environment\.
77
+ .
78
+ .TP
79
+ \fB\-\-force\fR
80
+ Force download every gem, even if the required versions are already available locally\.
50
81
  .
51
82
  .TP
52
83
  \fB\-\-system\fR
@@ -78,7 +109,7 @@ Uses the specified ruby executable (usually \fBruby\fR) to execute the scripts c
78
109
  .
79
110
  .TP
80
111
  \fB\-\-standalone[=<list>]\fR
81
- Makes a bundle that can work without depending on Rubygems or Bundler at runtime\. A space separated list of groups to install has to be specified\. Bundler creates a directory named \fBbundle\fR and installs the bundle there\. It also generates a \fBbundle/bundler/setup\.rb\fR file to replace Bundler\'s own setup in the manner required\.
112
+ Makes a bundle that can work without depending on Rubygems or Bundler at runtime\. A space separated list of groups to install has to be specified\. Bundler creates a directory named \fBbundle\fR and installs the bundle there\. It also generates a \fBbundle/bundler/setup\.rb\fR file to replace Bundler\'s own setup in the manner required\. Using this option implicitly sets \fBpath\fR, which is a \fIremembered option\fR\.
82
113
  .
83
114
  .TP
84
115
  \fB\-\-trust\-policy=[<policy>]\fR
@@ -93,7 +124,7 @@ A space\-separated list of groups referencing gems to skip during installation\.
93
124
  A space\-separated list of groups referencing gems to install\. If an optional group is given it is installed\. If a group is given that is in the remembered list of groups given to \-\-without, it is removed from that list\. This is a \fIremembered option\fR\.
94
125
  .
95
126
  .SH "DEPLOYMENT MODE"
96
- Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment, use the \fB\-\-deployment\fR flag\. Do not activate deployment mode on development machines, as it will cause an error when the Gemfile(5) is modified\.
127
+ Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment and for CI, use the \fB\-\-deployment\fR flag\. Do not activate deployment mode on development machines, as it will cause an error when the Gemfile(5) is modified\.
97
128
  .
98
129
  .IP "1." 4
99
130
  A \fBGemfile\.lock\fR is required\.
@@ -6,59 +6,78 @@ NAME
6
6
  bundle-install - Install the dependencies specified in your Gemfile
7
7
 
8
8
  SYNOPSIS
9
- bundle install [--binstubs[=DIRECTORY]] [--clean] [--full-index]
10
- [--gemfile=GEMFILE] [--jobs=NUMBER] [--local] [--deployment]
11
- [--no-cache] [--no-prune] [--path PATH] [--system] [--quiet]
12
- [--retry=NUMBER] [--shebang] [--standalone[=GROUP[ GROUP...]]]
13
- [--trust-policy=POLICY] [--without=GROUP[ GROUP...]] [--with=GROUP[
14
- GROUP...]]
9
+ bundle install [--binstubs[=DIRECTORY]]
10
+
11
+
12
+
13
+ [--clean]
14
+ [--full-index]
15
+ [--gemfile=GEMFILE]
16
+ [--jobs=NUMBER]
17
+ [--local]
18
+ [--deployment]
19
+ [--force]
20
+ [--no-cache]
21
+ [--no-prune]
22
+ [--path PATH]
23
+ [--system]
24
+ [--quiet]
25
+ [--retry=NUMBER]
26
+ [--shebang]
27
+ [--standalone[=GROUP[ GROUP...]]]
28
+ [--trust-policy=POLICY]
29
+ [--without=GROUP[ GROUP...]]
30
+ [--with=GROUP[ GROUP...]]
31
+
32
+
15
33
 
16
34
  DESCRIPTION
17
- Install the gems specified in your Gemfile(5). If this is the first
18
- time you run bundle install (and a Gemfile.lock does not exist),
35
+ Install the gems specified in your Gemfile(5). If this is the first
36
+ time you run bundle install (and a Gemfile.lock does not exist),
19
37
  Bundler will fetch all remote sources, resolve dependencies and install
20
38
  all needed gems.
21
39
 
22
40
  If a Gemfile.lock does exist, and you have not updated your Gemfile(5),
23
- Bundler will fetch all remote sources, but use the dependencies speci-
41
+ Bundler will fetch all remote sources, but use the dependencies speci-
24
42
  fied in the Gemfile.lock instead of resolving dependencies.
25
43
 
26
- If a Gemfile.lock does exist, and you have updated your Gemfile(5),
44
+ If a Gemfile.lock does exist, and you have updated your Gemfile(5),
27
45
  Bundler will use the dependencies in the Gemfile.lock for all gems that
28
- you did not update, but will re-resolve the dependencies of gems that
46
+ you did not update, but will re-resolve the dependencies of gems that
29
47
  you did update. You can find more information about this update process
30
48
  below under CONSERVATIVE UPDATING.
31
49
 
32
50
  OPTIONS
33
51
  --binstubs[=<directory>]
34
- Creates a directory (defaults to ~/bin) and place any executa-
52
+ Creates a directory (defaults to ~/bin) and place any executa-
35
53
  bles from the gem there. These executables run in Bundler's con-
36
- text. If used, you might add this directory to your environ-
37
- ment's PATH variable. For instance, if the rails gem comes with
54
+ text. If used, you might add this directory to your environ-
55
+ ment's PATH variable. For instance, if the rails gem comes with
38
56
  a rails executable, this flag will create a bin/rails executable
39
- that ensures that all referred dependencies will be resolved
57
+ that ensures that all referred dependencies will be resolved
40
58
  using the bundled gems.
41
59
 
42
60
  --clean
43
- On finishing the installation Bundler is going to remove any
44
- gems not present in the current Gemfile(5). Don't worry, gems
61
+ On finishing the installation Bundler is going to remove any
62
+ gems not present in the current Gemfile(5). Don't worry, gems
45
63
  currently in use will not be removed.
46
64
 
47
65
  --full-index
48
66
  Bundler will not call Rubygems' API endpoint (default) but down-
49
67
  load and cache a (currently big) index file of all gems. Perfor-
50
- mance can be improved for large bundles that seldomly change by
68
+ mance can be improved for large bundles that seldomly change by
51
69
  enabling this option.
52
70
 
53
71
  --gemfile=<gemfile>
54
- The location of the Gemfile(5) which Bundler should use. This
55
- defaults to a Gemfile(5) in the current working directory. In
72
+ The location of the Gemfile(5) which Bundler should use. This
73
+ defaults to a Gemfile(5) in the current working directory. In
56
74
  general, Bundler will assume that the location of the Gemfile(5)
57
75
  is also the project's root and will try to find Gemfile.lock and
58
76
  vendor/cache relative to this location.
59
77
 
60
78
  --jobs=[<number>]
61
- Install gems by starting number of workers parallely.
79
+ The maximum number of parallel download and install jobs. The
80
+ default is 1.
62
81
 
63
82
  --local
64
83
  Do not attempt to connect to rubygems.org. Instead, Bundler will
@@ -68,33 +87,37 @@ OPTIONS
68
87
 
69
88
  --deployment
70
89
  In deployment mode, Bundler will 'roll-out' the bundle for pro-
71
- duction use. Please check carefully if you want to have this
72
- option enabled in development or test environments.
90
+ duction or CI use. Please check carefully if you want to have
91
+ this option enabled in your development environment.
92
+
93
+ --force
94
+ Force download every gem, even if the required versions are
95
+ already available locally.
73
96
 
74
97
  --system
75
- Installs the gems specified in the bundle to the system's
98
+ Installs the gems specified in the bundle to the system's
76
99
  Rubygems location. This overrides any previous remembered use of
77
100
  --path.
78
101
 
79
102
  --no-cache
80
- Do not update the cache in vendor/cache with the newly bundled
81
- gems. This does not remove any gems in the cache but keeps the
103
+ Do not update the cache in vendor/cache with the newly bundled
104
+ gems. This does not remove any gems in the cache but keeps the
82
105
  newly bundled gems from being cached during the install.
83
106
 
84
107
  --no-prune
85
- Don't remove stale gems from the cache when the installation
108
+ Don't remove stale gems from the cache when the installation
86
109
  finishes.
87
110
 
88
111
  --path=<path>
89
- The location to install the specified gems to. This defaults to
90
- Rubygems' setting. Bundler shares this location with Rubygems,
91
- gem install ... will have gem installed there, too. Therefore,
92
- gems installed without a --path ... setting will show up by
93
- calling gem list. Accodingly, gems installed to other locations
112
+ The location to install the specified gems to. This defaults to
113
+ Rubygems' setting. Bundler shares this location with Rubygems,
114
+ gem install ... will have gem installed there, too. Therefore,
115
+ gems installed without a --path ... setting will show up by
116
+ calling gem list. Accodingly, gems installed to other locations
94
117
  will not get listed. This setting is a remembered option.
95
118
 
96
119
  --quiet
97
- Do not print progress information to the standard output.
120
+ Do not print progress information to the standard output.
98
121
  Instead, Bundler will exit using a status code ($?).
99
122
 
100
123
  --retry=[<number>]
@@ -102,17 +125,18 @@ OPTIONS
102
125
 
103
126
  --shebang=<ruby-executable>
104
127
  Uses the specified ruby executable (usually ruby) to execute the
105
- scripts created with --binstubs. In addition, if you use --bin-
106
- stubs together with --shebang jruby these executables will be
128
+ scripts created with --binstubs. In addition, if you use --bin-
129
+ stubs together with --shebang jruby these executables will be
107
130
  changed to execute jruby instead.
108
131
 
109
132
  --standalone[=<list>]
110
- Makes a bundle that can work without depending on Rubygems or
111
- Bundler at runtime. A space separated list of groups to install
112
- has to be specified. Bundler creates a directory named bundle
133
+ Makes a bundle that can work without depending on Rubygems or
134
+ Bundler at runtime. A space separated list of groups to install
135
+ has to be specified. Bundler creates a directory named bundle
113
136
  and installs the bundle there. It also generates a bun-
114
- dle/bundler/setup.rb file to replace Bundler's own setup in the
115
- manner required.
137
+ dle/bundler/setup.rb file to replace Bundler's own setup in the
138
+ manner required. Using this option implicitly sets path, which
139
+ is a remembered option.
116
140
 
117
141
  --trust-policy=[<policy>]
118
142
  Apply the Rubygems security policy policy, where policy is one
@@ -134,9 +158,9 @@ OPTIONS
134
158
 
135
159
  DEPLOYMENT MODE
136
160
  Bundler's defaults are optimized for development. To switch to defaults
137
- optimized for deployment, use the --deployment flag. Do not activate
138
- deployment mode on development machines, as it will cause an error when
139
- the Gemfile(5) is modified.
161
+ optimized for deployment and for CI, use the --deployment flag. Do not
162
+ activate deployment mode on development machines, as it will cause an
163
+ error when the Gemfile(5) is modified.
140
164
 
141
165
  1. A Gemfile.lock is required.
142
166
 
@@ -402,4 +426,4 @@ SEE ALSO
402
426
 
403
427
 
404
428
 
405
- July 2015 BUNDLE-INSTALL(1)
429
+ December 2015 BUNDLE-INSTALL(1)