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.
- checksums.yaml +4 -4
- data/.rubocop.yml +105 -0
- data/.rubocop_todo.yml +120 -0
- data/.travis.yml +8 -23
- data/CHANGELOG.md +95 -0
- data/CODE_OF_CONDUCT.md +6 -4
- data/DEVELOPMENT.md +4 -5
- data/README.md +2 -2
- data/Rakefile +71 -88
- data/bin/rake +14 -0
- data/bin/rspec +10 -0
- data/bin/rubocop +11 -0
- data/bundler.gemspec +17 -15
- data/exe/bundle +20 -0
- data/{bin → exe}/bundle_ruby +6 -4
- data/exe/bundler +20 -0
- data/lib/bundler/capistrano.rb +2 -2
- data/lib/bundler/cli/binstubs.rb +1 -2
- data/lib/bundler/cli/cache.rb +0 -1
- data/lib/bundler/cli/check.rb +7 -5
- data/lib/bundler/cli/clean.rb +0 -1
- data/lib/bundler/cli/common.rb +6 -7
- data/lib/bundler/cli/config.rb +69 -56
- data/lib/bundler/cli/console.rb +8 -8
- data/lib/bundler/cli/exec.rb +5 -4
- data/lib/bundler/cli/gem.rb +52 -40
- data/lib/bundler/cli/init.rb +5 -6
- data/lib/bundler/cli/inject.rb +1 -2
- data/lib/bundler/cli/install.rb +18 -21
- data/lib/bundler/cli/lock.rb +8 -3
- data/lib/bundler/cli/open.rb +4 -5
- data/lib/bundler/cli/outdated.rb +7 -8
- data/lib/bundler/cli/package.rb +1 -1
- data/lib/bundler/cli/platform.rb +2 -3
- data/lib/bundler/cli/show.rb +9 -9
- data/lib/bundler/cli/update.rb +2 -3
- data/lib/bundler/cli/viz.rb +1 -2
- data/lib/bundler/cli.rb +85 -74
- data/lib/bundler/constants.rb +1 -1
- data/lib/bundler/current_ruby.rb +38 -3
- data/lib/bundler/definition.rb +83 -88
- data/lib/bundler/dep_proxy.rb +11 -9
- data/lib/bundler/dependency.rb +17 -11
- data/lib/bundler/deployment.rb +2 -2
- data/lib/bundler/deprecate.rb +3 -3
- data/lib/bundler/dsl.rb +62 -43
- data/lib/bundler/env.rb +19 -12
- data/lib/bundler/environment.rb +1 -2
- data/lib/bundler/errors.rb +82 -0
- data/lib/bundler/fetcher/base.rb +20 -7
- data/lib/bundler/fetcher/dependency.rb +5 -5
- data/lib/bundler/fetcher/downloader.rb +1 -2
- data/lib/bundler/fetcher/index.rb +4 -7
- data/lib/bundler/fetcher.rb +49 -40
- data/lib/bundler/friendly_errors.rb +15 -8
- data/lib/bundler/gem_helper.rb +44 -35
- data/lib/bundler/gem_helpers.rb +7 -8
- data/lib/bundler/gem_remote_fetcher.rb +41 -0
- data/lib/bundler/gem_tasks.rb +4 -1
- data/lib/bundler/graph.rb +25 -24
- data/lib/bundler/index.rb +21 -18
- data/lib/bundler/injector.rb +2 -4
- data/lib/bundler/inline.rb +3 -3
- data/lib/bundler/installer/gem_installer.rb +76 -0
- data/lib/bundler/installer/parallel_installer.rb +22 -13
- data/lib/bundler/installer/standalone.rb +48 -0
- data/lib/bundler/installer.rb +57 -144
- data/lib/bundler/lazy_specification.rb +4 -5
- data/lib/bundler/lockfile_parser.rb +21 -19
- data/lib/bundler/man/bundle +2 -2
- data/lib/bundler/man/bundle-config +2 -2
- data/lib/bundler/man/bundle-config.txt +6 -4
- data/lib/bundler/man/bundle-exec +1 -1
- data/lib/bundler/man/bundle-exec.txt +1 -1
- data/lib/bundler/man/bundle-gem +80 -0
- data/lib/bundler/man/bundle-gem.txt +90 -0
- data/lib/bundler/man/bundle-install +37 -6
- data/lib/bundler/man/bundle-install.txt +68 -44
- data/lib/bundler/man/bundle-lock +55 -0
- data/lib/bundler/man/bundle-lock.txt +60 -0
- data/lib/bundler/man/bundle-package +1 -1
- data/lib/bundler/man/bundle-package.txt +1 -1
- data/lib/bundler/man/bundle-platform +1 -1
- data/lib/bundler/man/bundle-platform.txt +1 -1
- data/lib/bundler/man/bundle-update +1 -1
- data/lib/bundler/man/bundle-update.txt +1 -1
- data/lib/bundler/man/bundle.txt +2 -2
- data/lib/bundler/man/gemfile.5 +17 -1
- data/lib/bundler/man/gemfile.5.txt +12 -1
- data/lib/bundler/match_platform.rb +4 -4
- data/lib/bundler/psyched_yaml.rb +5 -5
- data/lib/bundler/remote_specification.rb +1 -1
- data/lib/bundler/resolver.rb +93 -88
- data/lib/bundler/retry.rb +9 -10
- data/lib/bundler/ruby_dsl.rb +1 -1
- data/lib/bundler/ruby_version.rb +7 -10
- data/lib/bundler/rubygems_ext.rb +32 -27
- data/lib/bundler/{gem_installer.rb → rubygems_gem_installer.rb} +2 -2
- data/lib/bundler/rubygems_integration.rb +85 -70
- data/lib/bundler/runtime.rb +65 -61
- data/lib/bundler/settings.rb +27 -26
- data/lib/bundler/setup.rb +3 -3
- data/lib/bundler/shared_helpers.rb +45 -20
- data/lib/bundler/similarity_detector.rb +19 -21
- data/lib/bundler/source/git/git_proxy.rb +52 -26
- data/lib/bundler/source/git.rb +29 -31
- data/lib/bundler/source/path/installer.rb +4 -4
- data/lib/bundler/source/path.rb +25 -28
- data/lib/bundler/source/rubygems/remote.rb +3 -3
- data/lib/bundler/source/rubygems.rb +62 -48
- data/lib/bundler/source.rb +4 -5
- data/lib/bundler/source_list.rb +4 -4
- data/lib/bundler/spec_set.rb +17 -15
- data/lib/bundler/ssl_certs/certificate_manager.rb +5 -6
- data/lib/bundler/stub_specification.rb +2 -2
- data/lib/bundler/templates/Executable +5 -5
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +42 -6
- data/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/lib/bundler/templates/newgem/Rakefile.tt +4 -2
- data/lib/bundler/templates/newgem/bin/setup.tt +2 -1
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -2
- data/lib/bundler/ui/rg_proxy.rb +2 -2
- data/lib/bundler/ui/shell.rb +10 -6
- data/lib/bundler/ui.rb +3 -3
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +82 -71
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +9 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +40 -21
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -0
- data/lib/bundler/vendored_molinillo.rb +1 -1
- data/lib/bundler/vendored_persistent.rb +3 -3
- data/lib/bundler/vendored_thor.rb +2 -2
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler/vlad.rb +1 -1
- data/lib/bundler/worker.rb +4 -5
- data/lib/bundler.rb +99 -120
- data/man/bundle-config.ronn +4 -2
- data/man/bundle-gem.ronn +77 -0
- data/man/bundle-install.ronn +13 -6
- data/man/bundle-lock.ronn +47 -0
- data/man/bundle.ronn +1 -1
- data/man/gemfile.5.ronn +8 -0
- data/man/index.txt +1 -0
- metadata +36 -8
- data/bin/bundle +0 -21
- 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
|
|
38
|
-
"Run `git checkout HEAD --
|
|
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
|
|
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
|
|
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 {
|
|
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 =
|
|
135
|
-
NAME_VERSION_4 =
|
|
136
|
-
NAME_VERSION_6 =
|
|
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
|
|
141
|
-
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 !=
|
|
146
|
-
spec = @specs.find {|
|
|
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
|
|
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
|
|
175
|
-
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
|
data/lib/bundler/man/bundle
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 "BUNDLE" "1" "
|
|
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
|
-
|
|
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" "
|
|
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
|
|
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
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
240
|
+
October 2015 BUNDLE-CONFIG(1)
|
data/lib/bundler/man/bundle-exec
CHANGED
|
@@ -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" "
|
|
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]]
|
|
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
|
-
|
|
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
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
18
|
-
time
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
37
|
-
ment's
|
|
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
|
|
57
|
+
that ensures that all referred dependencies will be resolved
|
|
40
58
|
using the bundled gems.
|
|
41
59
|
|
|
42
60
|
--clean
|
|
43
|
-
On
|
|
44
|
-
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
|
|
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
|
|
55
|
-
defaults
|
|
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
|
-
|
|
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
|
|
72
|
-
option enabled in development
|
|
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
|
|
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
|
|
81
|
-
gems.
|
|
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
|
|
108
|
+
Don't remove stale gems from the cache when the installation
|
|
86
109
|
finishes.
|
|
87
110
|
|
|
88
111
|
--path=<path>
|
|
89
|
-
The
|
|
90
|
-
Rubygems'
|
|
91
|
-
gem
|
|
92
|
-
gems
|
|
93
|
-
calling
|
|
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
|
|
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
|
|
106
|
-
stubs
|
|
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
|
|
111
|
-
Bundler
|
|
112
|
-
has
|
|
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
|
|
115
|
-
manner
|
|
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.
|
|
138
|
-
deployment
|
|
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
|
-
|
|
429
|
+
December 2015 BUNDLE-INSTALL(1)
|