bundler 1.9.10 → 1.10.0.pre
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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CHANGELOG.md +21 -13
- data/Rakefile +2 -2
- data/bin/bundle_ruby +2 -0
- data/bin/bundler +1 -1
- data/lib/bundler.rb +6 -10
- data/lib/bundler/cli.rb +23 -1
- data/lib/bundler/cli/gem.rb +5 -2
- data/lib/bundler/cli/install.rb +37 -5
- data/lib/bundler/cli/lock.rb +36 -0
- data/lib/bundler/cli/outdated.rb +9 -2
- data/lib/bundler/definition.rb +22 -7
- data/lib/bundler/dependency.rb +7 -6
- data/lib/bundler/deployment.rb +3 -0
- data/lib/bundler/dsl.rb +172 -39
- data/lib/bundler/endpoint_specification.rb +1 -1
- data/lib/bundler/fetcher.rb +90 -252
- data/lib/bundler/fetcher/base.rb +27 -0
- data/lib/bundler/fetcher/dependency.rb +88 -0
- data/lib/bundler/fetcher/downloader.rb +61 -0
- data/lib/bundler/fetcher/index.rb +31 -0
- data/lib/bundler/friendly_errors.rb +3 -0
- data/lib/bundler/inline.rb +50 -0
- data/lib/bundler/installer.rb +15 -60
- data/lib/bundler/installer/parallel_installer.rb +117 -0
- data/lib/bundler/lazy_specification.rb +1 -1
- data/lib/bundler/lockfile_parser.rb +26 -10
- data/lib/bundler/remote_specification.rb +21 -1
- data/lib/bundler/resolver.rb +2 -1
- data/lib/bundler/retry.rb +11 -10
- data/lib/bundler/rubygems_ext.rb +1 -1
- data/lib/bundler/rubygems_integration.rb +33 -6
- data/lib/bundler/settings.rb +58 -14
- data/lib/bundler/shared_helpers.rb +6 -3
- data/lib/bundler/source.rb +0 -10
- data/lib/bundler/source/git.rb +2 -2
- data/lib/bundler/source/path.rb +1 -1
- data/lib/bundler/source/path/installer.rb +8 -11
- data/lib/bundler/source/rubygems.rb +46 -16
- data/lib/bundler/source/rubygems/remote.rb +39 -0
- data/lib/bundler/templates/newgem/.travis.yml.tt +1 -0
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +2 -2
- data/lib/bundler/templates/newgem/Rakefile.tt +2 -0
- data/lib/bundler/templates/newgem/test/{test_newgem.rb.tt → newgem_test.rb.tt} +2 -2
- data/lib/bundler/templates/newgem/test/{minitest_helper.rb.tt → test_helper.rb.tt} +0 -0
- data/lib/bundler/version.rb +1 -1
- data/man/bundle-config.ronn +7 -0
- data/man/bundle-install.ronn +9 -0
- data/man/bundle.ronn +3 -3
- data/man/gemfile.5.ronn +9 -5
- metadata +13 -8
- data/UPGRADING.md +0 -103
- data/lib/bundler/anonymizable_uri.rb +0 -32
@@ -7,34 +7,31 @@ module Bundler
|
|
7
7
|
|
8
8
|
def initialize(spec, options = {})
|
9
9
|
@spec = spec
|
10
|
+
@tmp_bin_dir = "#{Bundler.tmp(spec.full_name)}/bin"
|
11
|
+
@gem_bin_dir = "#{Bundler.rubygems.gem_dir}/bin"
|
12
|
+
@bin_dir = Bundler.requires_sudo? ? @tmp_bin_dir : @gem_bin_dir
|
10
13
|
@gem_dir = Bundler.rubygems.path(spec.full_gem_path)
|
11
14
|
@wrappers = options[:wrappers] || true
|
12
15
|
@env_shebang = options[:env_shebang] || true
|
13
16
|
@format_executable = options[:format_executable] || false
|
14
17
|
@build_args = options[:build_args] || Bundler.rubygems.build_args
|
15
|
-
@gem_bin_dir = "#{Bundler.rubygems.gem_dir}/bin"
|
16
|
-
|
17
|
-
if Bundler.requires_sudo?
|
18
|
-
@tmp_dir = Bundler.tmp(spec.full_name).to_s
|
19
|
-
@bin_dir = "#{@tmp_dir}/bin"
|
20
|
-
else
|
21
|
-
@bin_dir = @gem_bin_dir
|
22
|
-
end
|
23
18
|
end
|
24
19
|
|
25
20
|
def generate_bin
|
26
21
|
return if spec.executables.nil? || spec.executables.empty?
|
27
22
|
|
23
|
+
if Bundler.requires_sudo?
|
24
|
+
FileUtils.mkdir_p(@tmp_bin_dir) unless File.exist?(@tmp_bin_dir)
|
25
|
+
end
|
26
|
+
|
28
27
|
super
|
29
28
|
|
30
29
|
if Bundler.requires_sudo?
|
31
30
|
Bundler.mkdir_p @gem_bin_dir
|
32
31
|
spec.executables.each do |exe|
|
33
|
-
Bundler.sudo "cp -R #{@
|
32
|
+
Bundler.sudo "cp -R #{@tmp_bin_dir}/#{exe} #{@gem_bin_dir}"
|
34
33
|
end
|
35
34
|
end
|
36
|
-
ensure
|
37
|
-
Bundler.rm_rf(@tmp_dir) if Bundler.requires_sudo?
|
38
35
|
end
|
39
36
|
end
|
40
37
|
|
@@ -5,6 +5,8 @@ require 'rubygems/spec_fetcher'
|
|
5
5
|
module Bundler
|
6
6
|
class Source
|
7
7
|
class Rubygems < Source
|
8
|
+
autoload :Remote, "bundler/source/rubygems/remote"
|
9
|
+
|
8
10
|
# Use the API when installing less than X gems
|
9
11
|
API_REQUEST_LIMIT = 500
|
10
12
|
# Ask for X gems per API request
|
@@ -83,15 +85,28 @@ module Bundler
|
|
83
85
|
end
|
84
86
|
end
|
85
87
|
|
86
|
-
def install(spec)
|
87
|
-
|
88
|
+
def install(spec, opts = {})
|
89
|
+
force = opts[:force]
|
90
|
+
ensure_builtin_gems_cached = opts[:ensure_builtin_gems_cached]
|
91
|
+
|
92
|
+
if ensure_builtin_gems_cached && builtin_gem?(spec)
|
93
|
+
if !cached_path(spec)
|
94
|
+
cached_built_in_gem(spec) unless spec.remote
|
95
|
+
force = true
|
96
|
+
else
|
97
|
+
spec.loaded_from = loaded_from(spec)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
return ["Using #{version_message(spec)}", nil] if installed_specs[spec].any? && !force
|
102
|
+
|
88
103
|
|
89
104
|
# Download the gem to get the spec, because some specs that are returned
|
90
105
|
# by rubygems.org are broken and wrong.
|
91
|
-
if spec.
|
106
|
+
if spec.remote
|
92
107
|
# Check for this spec from other sources
|
93
|
-
uris = [spec.
|
94
|
-
uris +=
|
108
|
+
uris = [spec.remote.anonymized_uri]
|
109
|
+
uris += remotes_for_spec(spec).map { |remote| remote.anonymized_uri }
|
95
110
|
uris.uniq!
|
96
111
|
Installer.ambiguous_gems << [spec.name, *uris] if uris.length > 1
|
97
112
|
|
@@ -145,7 +160,9 @@ module Bundler
|
|
145
160
|
spec.loaded_from = loaded_from(spec)
|
146
161
|
["Installing #{version_message(spec)}", spec.post_install_message]
|
147
162
|
ensure
|
148
|
-
|
163
|
+
if install_path && Bundler.requires_sudo?
|
164
|
+
FileUtils.remove_entry_secure(install_path)
|
165
|
+
end
|
149
166
|
end
|
150
167
|
|
151
168
|
def cache(spec, custom_path = nil)
|
@@ -196,7 +213,8 @@ module Bundler
|
|
196
213
|
|
197
214
|
def fetchers
|
198
215
|
@fetchers ||= remotes.map do |uri|
|
199
|
-
|
216
|
+
remote = Source::Rubygems::Remote.new(uri)
|
217
|
+
Bundler::Fetcher.new(remote)
|
200
218
|
end
|
201
219
|
end
|
202
220
|
|
@@ -206,11 +224,9 @@ module Bundler
|
|
206
224
|
remotes.map(&method(:suppress_configured_credentials))
|
207
225
|
end
|
208
226
|
|
209
|
-
|
210
|
-
|
211
|
-
def source_uris_for_spec(spec)
|
227
|
+
def remotes_for_spec(spec)
|
212
228
|
specs.search_all(spec.name).inject([]) do |uris, s|
|
213
|
-
uris << s.
|
229
|
+
uris << s.remote if s.remote
|
214
230
|
uris
|
215
231
|
end
|
216
232
|
end
|
@@ -296,7 +312,7 @@ module Bundler
|
|
296
312
|
end
|
297
313
|
|
298
314
|
def api_fetchers
|
299
|
-
fetchers.select
|
315
|
+
fetchers.select(&:use_api)
|
300
316
|
end
|
301
317
|
|
302
318
|
def remote_specs
|
@@ -337,7 +353,7 @@ module Bundler
|
|
337
353
|
end
|
338
354
|
end until idxcount == idx.size
|
339
355
|
|
340
|
-
if api_fetchers.any?
|
356
|
+
if api_fetchers.any?
|
341
357
|
# it's possible that gems from one source depend on gems from some
|
342
358
|
# other source, so now we download gemspecs and iterate over those
|
343
359
|
# dependencies, looking for gems we don't have info on yet.
|
@@ -354,7 +370,7 @@ module Bundler
|
|
354
370
|
end
|
355
371
|
end
|
356
372
|
|
357
|
-
|
373
|
+
unless allow_api
|
358
374
|
api_fetchers.each do |f|
|
359
375
|
Bundler.ui.info "Fetching source index from #{f.uri}"
|
360
376
|
idx.use f.specs(nil, self)
|
@@ -364,8 +380,22 @@ module Bundler
|
|
364
380
|
end
|
365
381
|
|
366
382
|
def fetch_gem(spec)
|
367
|
-
return false unless spec.
|
368
|
-
|
383
|
+
return false unless spec.remote
|
384
|
+
uri = spec.remote.uri
|
385
|
+
spec.fetch_platform
|
386
|
+
|
387
|
+
download_path = Bundler.requires_sudo? ? Bundler.tmp(spec.full_name) : Bundler.rubygems.gem_dir
|
388
|
+
gem_path = "#{Bundler.rubygems.gem_dir}/cache/#{spec.full_name}.gem"
|
389
|
+
|
390
|
+
FileUtils.mkdir_p("#{download_path}/cache")
|
391
|
+
Bundler.rubygems.download_gem(spec, uri, download_path)
|
392
|
+
|
393
|
+
if Bundler.requires_sudo?
|
394
|
+
Bundler.mkdir_p "#{Bundler.rubygems.gem_dir}/cache"
|
395
|
+
Bundler.sudo "mv #{Bundler.tmp(spec.full_name)}/cache/#{spec.full_name}.gem #{gem_path}"
|
396
|
+
end
|
397
|
+
|
398
|
+
gem_path
|
369
399
|
end
|
370
400
|
|
371
401
|
def builtin_gem?(spec)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Bundler
|
2
|
+
class Source
|
3
|
+
class Rubygems
|
4
|
+
class Remote
|
5
|
+
attr_reader :uri,
|
6
|
+
:anonymized_uri
|
7
|
+
|
8
|
+
def initialize(uri)
|
9
|
+
uri = Bundler.settings.mirror_for(uri)
|
10
|
+
fallback_auth = Bundler.settings.credentials_for(uri)
|
11
|
+
|
12
|
+
@uri = apply_auth(uri, fallback_auth).freeze
|
13
|
+
@anonymized_uri = remove_auth(@uri).freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def apply_auth(uri, auth)
|
19
|
+
if auth && uri.userinfo.nil?
|
20
|
+
uri = uri.dup
|
21
|
+
uri.userinfo = auth
|
22
|
+
end
|
23
|
+
|
24
|
+
uri
|
25
|
+
end
|
26
|
+
|
27
|
+
def remove_auth(uri)
|
28
|
+
if uri.userinfo
|
29
|
+
uri = uri.dup
|
30
|
+
uri.user = uri.password = nil
|
31
|
+
end
|
32
|
+
|
33
|
+
uri
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
4
|
|
5
|
-
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
6
|
|
7
7
|
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
8
|
|
@@ -10,4 +10,4 @@ Project maintainers have the right and responsibility to remove, edit, or reject
|
|
10
10
|
|
11
11
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
12
|
|
13
|
-
This Code of Conduct is adapted from the [Contributor Covenant](http
|
13
|
+
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
1
|
+
require 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class <%= config[:constant_name] %>Test < Minitest::Test
|
4
4
|
def test_that_it_has_a_version_number
|
5
5
|
refute_nil ::<%= config[:constant_name] %>::VERSION
|
6
6
|
end
|
File without changes
|
data/lib/bundler/version.rb
CHANGED
@@ -2,5 +2,5 @@ module Bundler
|
|
2
2
|
# We're doing this because we might write tests that deal
|
3
3
|
# with other versions of bundler and we are unsure how to
|
4
4
|
# handle this better.
|
5
|
-
VERSION = "1.
|
5
|
+
VERSION = "1.10.0.pre" unless defined?(::Bundler::VERSION)
|
6
6
|
end
|
data/man/bundle-config.ronn
CHANGED
@@ -35,6 +35,10 @@ local and global sources. Not compatible with --global or --local flag.
|
|
35
35
|
Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
|
36
36
|
cause it to ignore all configuration.
|
37
37
|
|
38
|
+
Executing `bundle config disable_multisource true` upgrades the warning about
|
39
|
+
the Gemfile containing multiple primary sources to an error. Executing `bundle
|
40
|
+
config --delete disable_multisource` downgrades this error to a warning.
|
41
|
+
|
38
42
|
## BUILD OPTIONS
|
39
43
|
|
40
44
|
You can use `bundle config` to give bundler the flags to pass to the gem
|
@@ -108,6 +112,9 @@ learn more about their operation in [bundle install(1)][bundle-install].
|
|
108
112
|
* `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`): When set, Gemfiles
|
109
113
|
containing multiple sources will produce errors instead of warnings. Use
|
110
114
|
`bundle config --delete disable_multisource` to unset.
|
115
|
+
* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
|
116
|
+
messages will be printed. To silence a single gem, use dot notation like
|
117
|
+
`ignore_messages.httparty true`.
|
111
118
|
|
112
119
|
In general, you should set these settings per-application by using the applicable
|
113
120
|
flag to the [bundle install(1)][bundle-install] or [bundle package(1)][bundle-package] command.
|
data/man/bundle-install.ronn
CHANGED
@@ -20,6 +20,7 @@ bundle-install(1) -- Install the dependencies specified in your Gemfile
|
|
20
20
|
[--standalone[=GROUP[ GROUP...]]]
|
21
21
|
[--trust-policy=POLICY]
|
22
22
|
[--without=GROUP[ GROUP...]]
|
23
|
+
[--with=GROUP[ GROUP...]]
|
23
24
|
|
24
25
|
## DESCRIPTION
|
25
26
|
|
@@ -127,8 +128,16 @@ update process below under [CONSERVATIVE UPDATING][].
|
|
127
128
|
|
128
129
|
* `--without=<list>`:
|
129
130
|
A space-separated list of groups referencing gems to skip during installation.
|
131
|
+
If a group is given that is in the remembered list of groups given
|
132
|
+
to --with, it is removed from that list.
|
130
133
|
This is a [remembered option][REMEMBERED OPTIONS].
|
131
134
|
|
135
|
+
* `--with=<list>`:
|
136
|
+
A space-separated list of groups referencing gems to install. If an
|
137
|
+
optional group is given it is installed. If a group is given that is
|
138
|
+
in the remembered list of groups given to --without, it is removed
|
139
|
+
from that list. This is a [remembered option][REMEMBERED OPTIONS].
|
140
|
+
|
132
141
|
|
133
142
|
## DEPLOYMENT MODE
|
134
143
|
|
data/man/bundle.ronn
CHANGED
@@ -67,6 +67,9 @@ We divide `bundle` subcommands into primary commands and utilities.
|
|
67
67
|
* `bundle open(1)`:
|
68
68
|
Open an installed gem in the editor
|
69
69
|
|
70
|
+
* `bundle lock(1)`:
|
71
|
+
Generate a lockfile for your dependencies
|
72
|
+
|
70
73
|
* `bundle viz(1)`:
|
71
74
|
Generate a visual representation of your dependencies
|
72
75
|
|
@@ -92,7 +95,4 @@ and execute it, passing down any extra arguments to it.
|
|
92
95
|
|
93
96
|
These commands are obsolete and should no longer be used
|
94
97
|
|
95
|
-
* `bundle lock(1)`
|
96
|
-
* `bundle unlock(1)`
|
97
98
|
* `bundle cache(1)`
|
98
|
-
|
data/man/gemfile.5.ronn
CHANGED
@@ -430,11 +430,15 @@ applied to a group of gems by using block form.
|
|
430
430
|
gem "sqlite3"
|
431
431
|
end
|
432
432
|
|
433
|
-
group :development do
|
433
|
+
group :development, :optional => true do
|
434
434
|
gem "wirble"
|
435
435
|
gem "faker"
|
436
436
|
end
|
437
437
|
|
438
|
+
In the case of the group block form the :optional option can be given
|
439
|
+
to prevent a group from being installed unless listed in the `--with`
|
440
|
+
option given to the `bundle install` command.
|
441
|
+
|
438
442
|
In the case of the `git` block form, the `:ref`, `:branch`, `:tag`,
|
439
443
|
and `:submodules` options may be passed to the `git` method, and
|
440
444
|
all gems in the block will inherit those options.
|
@@ -453,10 +457,10 @@ files in your test code as you would if the project were installed as a gem; you
|
|
453
457
|
need not manipulate the load path manually or require project files via relative
|
454
458
|
paths.
|
455
459
|
|
456
|
-
The `gemspec` method supports optional `:path`, `:name`, and `:development_group`
|
457
|
-
options, which control where bundler looks for the `.gemspec`,
|
458
|
-
|
459
|
-
dependencies are included in.
|
460
|
+
The `gemspec` method supports optional `:path`, `:glob`, `:name`, and `:development_group`
|
461
|
+
options, which control where bundler looks for the `.gemspec`, the glob it uses to look
|
462
|
+
for the gemspec (defaults to: "{,*,*/*}.gemspec"), what named `.gemspec` it uses
|
463
|
+
(if more than one is present), and which group development dependencies are included in.
|
460
464
|
|
461
465
|
## SOURCE PRIORITY
|
462
466
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- André Arko
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-
|
14
|
+
date: 2015-05-03 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: mustache
|
@@ -104,13 +104,11 @@ files:
|
|
104
104
|
- LICENSE.md
|
105
105
|
- README.md
|
106
106
|
- Rakefile
|
107
|
-
- UPGRADING.md
|
108
107
|
- bin/bundle
|
109
108
|
- bin/bundle_ruby
|
110
109
|
- bin/bundler
|
111
110
|
- bundler.gemspec
|
112
111
|
- lib/bundler.rb
|
113
|
-
- lib/bundler/anonymizable_uri.rb
|
114
112
|
- lib/bundler/capistrano.rb
|
115
113
|
- lib/bundler/cli.rb
|
116
114
|
- lib/bundler/cli/binstubs.rb
|
@@ -125,6 +123,7 @@ files:
|
|
125
123
|
- lib/bundler/cli/init.rb
|
126
124
|
- lib/bundler/cli/inject.rb
|
127
125
|
- lib/bundler/cli/install.rb
|
126
|
+
- lib/bundler/cli/lock.rb
|
128
127
|
- lib/bundler/cli/open.rb
|
129
128
|
- lib/bundler/cli/outdated.rb
|
130
129
|
- lib/bundler/cli/package.rb
|
@@ -144,6 +143,10 @@ files:
|
|
144
143
|
- lib/bundler/env.rb
|
145
144
|
- lib/bundler/environment.rb
|
146
145
|
- lib/bundler/fetcher.rb
|
146
|
+
- lib/bundler/fetcher/base.rb
|
147
|
+
- lib/bundler/fetcher/dependency.rb
|
148
|
+
- lib/bundler/fetcher/downloader.rb
|
149
|
+
- lib/bundler/fetcher/index.rb
|
147
150
|
- lib/bundler/friendly_errors.rb
|
148
151
|
- lib/bundler/gem_helper.rb
|
149
152
|
- lib/bundler/gem_helpers.rb
|
@@ -153,7 +156,9 @@ files:
|
|
153
156
|
- lib/bundler/graph.rb
|
154
157
|
- lib/bundler/index.rb
|
155
158
|
- lib/bundler/injector.rb
|
159
|
+
- lib/bundler/inline.rb
|
156
160
|
- lib/bundler/installer.rb
|
161
|
+
- lib/bundler/installer/parallel_installer.rb
|
157
162
|
- lib/bundler/lazy_specification.rb
|
158
163
|
- lib/bundler/lockfile_parser.rb
|
159
164
|
- lib/bundler/man/bundle
|
@@ -192,6 +197,7 @@ files:
|
|
192
197
|
- lib/bundler/source/path.rb
|
193
198
|
- lib/bundler/source/path/installer.rb
|
194
199
|
- lib/bundler/source/rubygems.rb
|
200
|
+
- lib/bundler/source/rubygems/remote.rb
|
195
201
|
- lib/bundler/source_list.rb
|
196
202
|
- lib/bundler/spec_set.rb
|
197
203
|
- lib/bundler/ssl_certs/.document
|
@@ -224,8 +230,8 @@ files:
|
|
224
230
|
- lib/bundler/templates/newgem/rspec.tt
|
225
231
|
- lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
|
226
232
|
- lib/bundler/templates/newgem/spec/spec_helper.rb.tt
|
227
|
-
- lib/bundler/templates/newgem/test/
|
228
|
-
- lib/bundler/templates/newgem/test/
|
233
|
+
- lib/bundler/templates/newgem/test/newgem_test.rb.tt
|
234
|
+
- lib/bundler/templates/newgem/test/test_helper.rb.tt
|
229
235
|
- lib/bundler/ui.rb
|
230
236
|
- lib/bundler/ui/rg_proxy.rb
|
231
237
|
- lib/bundler/ui/shell.rb
|
@@ -309,9 +315,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
309
315
|
version: 1.3.6
|
310
316
|
requirements: []
|
311
317
|
rubyforge_project:
|
312
|
-
rubygems_version: 2.4.
|
318
|
+
rubygems_version: 2.4.5
|
313
319
|
signing_key:
|
314
320
|
specification_version: 4
|
315
321
|
summary: The best way to manage your application's dependencies
|
316
322
|
test_files: []
|
317
|
-
has_rdoc:
|
data/UPGRADING.md
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
## Bundler 0.9 to 1.0 and above
|
2
|
-
|
3
|
-
Upgrading from Bundler 0.9 to 1.0 is relatively painless. The
|
4
|
-
Gemfile API is the same, so your old Gemfiles should continue
|
5
|
-
to work.
|
6
|
-
|
7
|
-
The "env" file that 0.9 created at `.bundle/environment.rb` has been
|
8
|
-
removed. As a side effect of this, Passenger will only find your
|
9
|
-
bundled gems if you install with `bundle install --deployment`.
|
10
|
-
Alternatively, you can tell Passenger where you gems are installed,
|
11
|
-
[something like this](http://andre.arko.net/2010/08/16/using-passengerpane-with-gem_home-set/).
|
12
|
-
|
13
|
-
The `bundle lock` command is no longer needed, as the
|
14
|
-
Gemfile.lock file is now automatically generated by `bundle install`.
|
15
|
-
If you have not yet done so, add your Gemfile.lock to source control
|
16
|
-
and check it in.
|
17
|
-
|
18
|
-
Running `bundle install` no longer updates the versions of your gems.
|
19
|
-
If you need to update just one gem, run `bundle update GEMNAME`. To
|
20
|
-
update all gems to the newest versions possible, run `bundle update`.
|
21
|
-
|
22
|
-
Bundler now supports multiple platforms, using a block syntax to
|
23
|
-
declare platform-specific gems:
|
24
|
-
|
25
|
-
platform :jruby do
|
26
|
-
gem "jruby-maven-plugins"
|
27
|
-
end
|
28
|
-
|
29
|
-
Deploying using Bundler is even easier than it was before, as Bundler
|
30
|
-
now includes a Capistrano recipe. Simply add this line to the top of
|
31
|
-
your deploy.rb file to run Bundler automatically as part of deploying:
|
32
|
-
|
33
|
-
require 'bundler/capistrano'
|
34
|
-
|
35
|
-
For more details on deploying using bundler, see the documentation
|
36
|
-
for the bundler cap task, and the [documentation on deploying](http://bundler.io/deploying.html).
|
37
|
-
|
38
|
-
|
39
|
-
## Bundler 0.8 to 0.9 and above
|
40
|
-
|
41
|
-
Upgrading to Bundler 0.9 from Bundler 0.8 requires upgrading several
|
42
|
-
API calls in your Gemfile, and some workarounds if you are using Rails 2.3.
|
43
|
-
|
44
|
-
### Gemfile Removals
|
45
|
-
|
46
|
-
Bundler 0.9 removes the following Bundler 0.8 Gemfile APIs:
|
47
|
-
|
48
|
-
1. `disable_system_gems`: This is now the default (and only) option
|
49
|
-
for bundler. Bundler uses the system gems you have specified
|
50
|
-
in the Gemfile, and only the system gems you have specified
|
51
|
-
(and their dependencies)
|
52
|
-
2. `disable_rubygems`: This is no longer supported. We are looking
|
53
|
-
into ways to get the fastest performance out of each supported
|
54
|
-
scenario, and we will make speed the default where possible.
|
55
|
-
3. `clear_sources`: Bundler now defaults to an empty source
|
56
|
-
list. If you want to include Rubygems, you can add the source
|
57
|
-
via source "http://gemcutter.org". If you use bundle init, this
|
58
|
-
source will be automatically added for you in the generated
|
59
|
-
Gemfile
|
60
|
-
4. `bundle_path`: You can specify this setting when installing
|
61
|
-
via `bundle install /path/to/bundle`. Bundler will remember
|
62
|
-
where you installed the dependencies to on a particular
|
63
|
-
machine for future installs, loads, setups, etc.
|
64
|
-
5. `bin_path`: Bundler no longer generates executables in the root
|
65
|
-
of your app. You should use `bundle exec` to execute executables
|
66
|
-
in the current context.
|
67
|
-
|
68
|
-
### Gemfile Changes
|
69
|
-
|
70
|
-
Bundler 0.9 changes the following Bundler 0.8 Gemfile APIs:
|
71
|
-
|
72
|
-
1. Bundler 0.8 supported :only and :except as APIs for describing
|
73
|
-
groups of gems. Bundler 0.9 supports a single `group` method,
|
74
|
-
which you can use to group gems together. See the above "Group"
|
75
|
-
section for more information.
|
76
|
-
|
77
|
-
This means that `gem "foo", :only => :production` becomes
|
78
|
-
`gem "foo", :group => :production`, and
|
79
|
-
`only :production { gem "foo" }` becomes
|
80
|
-
`group :production { gem "foo" }`
|
81
|
-
|
82
|
-
The short version is: group your gems together logically, and
|
83
|
-
use the available commands to make use of the groups you've
|
84
|
-
created.
|
85
|
-
|
86
|
-
2. `:require_as` becomes `:require`
|
87
|
-
|
88
|
-
3. `:vendored_at` is fully removed; you should use `:path`
|
89
|
-
|
90
|
-
### API Changes
|
91
|
-
|
92
|
-
1. `Bundler.require_env(:environment)` becomes
|
93
|
-
`Bundler.require(:multiple, :groups)`. You must
|
94
|
-
now specify the default group (the default group is the
|
95
|
-
group made up of the gems not assigned to any group)
|
96
|
-
explicitly. So `Bundler.require_env(:test)` becomes
|
97
|
-
`Bundler.require(:default, :test)`
|
98
|
-
|
99
|
-
2. `require 'vendor/gems/environment'`: In unlocked
|
100
|
-
mode, where using system gems, this becomes
|
101
|
-
`Bundler.setup(:multiple, :groups)`. If you don't
|
102
|
-
specify any groups, this puts all groups on the load
|
103
|
-
path. In locked mode, it becomes `require '.bundle/environment'`
|