bundler 1.8.0 → 1.8.1
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/CHANGELOG.md +15 -4
- data/lib/bundler/fetcher.rb +1 -1
- data/lib/bundler/installer.rb +3 -4
- data/lib/bundler/lockfile_parser.rb +4 -0
- data/lib/bundler/rubygems_integration.rb +34 -1
- data/lib/bundler/settings.rb +8 -1
- data/lib/bundler/shared_helpers.rb +1 -3
- data/lib/bundler/source/path.rb +1 -1
- data/lib/bundler/source/rubygems.rb +7 -2
- data/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -0
- data/lib/bundler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af68420035a0c7b45ad5bded38f16b47d34e1926
|
4
|
+
data.tar.gz: ec122e1e73be3e4d5bed140544922889251d9518
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 395e1cc327ddb3b6b7587563368b042231d8b6e1f3cdc72b898c4f69035cffe734f13c437079eecb831999d80ba38851772a7988e0d22408ca1a5de11a702d25
|
7
|
+
data.tar.gz: 16234c8a9b02d81db591e10dede42804294fc05c3d6863cbf8fd5d3cf2b3bb976357aff1fd5b5e7a2581b230fd24281cd595221e1aa7e06e8b8a264295ee1726
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,25 @@
|
|
1
|
+
## 1.8.1 (2015-02-13)
|
2
|
+
|
3
|
+
Bugfixes:
|
4
|
+
|
5
|
+
- synchronize building git gem native extensions (#3385, @antifuchs & @indirect)
|
6
|
+
- set gemspec bindir correctly (#3392, @tmoore)
|
7
|
+
- request lockfile deletion when it is malformed (#3396, @indirect)
|
8
|
+
- explain problem when mirror config is missing (#3386, @indirect)
|
9
|
+
- explain problem when caching causes permission error (#3390, @indirect)
|
10
|
+
- normalize URLs in config keys (#3391, @indirect)
|
11
|
+
|
1
12
|
## 1.8.0 (2015-02-10)
|
2
13
|
|
3
14
|
Bugfixes:
|
4
15
|
|
5
|
-
-
|
16
|
+
- gemfile `github` blocks now work (#3379, @indirect)
|
6
17
|
|
7
18
|
Bugfixes from v1.7.13:
|
8
19
|
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
20
|
+
- look up installed gems in remote sources (#3300, #3368, #3377, #3380, #3381, @indirect)
|
21
|
+
- look up gems across all sources to satisfy dependencies (#3365, @keiths-osc)
|
22
|
+
- request dependencies for no more than 100 gems at a time (#3367, @segiddins)
|
12
23
|
|
13
24
|
## 1.8.0.rc (2015-01-26)
|
14
25
|
|
data/lib/bundler/fetcher.rb
CHANGED
@@ -323,7 +323,7 @@ module Bundler
|
|
323
323
|
gem_list = []
|
324
324
|
deps_list = []
|
325
325
|
|
326
|
-
gem_names.each_slice(Source::Rubygems::
|
326
|
+
gem_names.each_slice(Source::Rubygems::API_REQUEST_SIZE) do |names|
|
327
327
|
marshalled_deps = fetch dependency_api_uri(names)
|
328
328
|
gem_list += Bundler.load_marshal(marshalled_deps)
|
329
329
|
end
|
data/lib/bundler/installer.rb
CHANGED
@@ -195,13 +195,12 @@ module Bundler
|
|
195
195
|
private
|
196
196
|
|
197
197
|
def can_install_in_parallel?
|
198
|
-
|
199
|
-
if Bundler.current_ruby.mri? || Bundler.rubygems.provides?(">= #{min_rubygems}")
|
198
|
+
if Bundler.rubygems.provides?(">= 2.1.0")
|
200
199
|
true
|
201
200
|
else
|
202
201
|
Bundler.ui.warn "Rubygems #{Gem::VERSION} is not threadsafe, so your "\
|
203
|
-
"gems must be installed one at a time. Upgrade to Rubygems " \
|
204
|
-
"
|
202
|
+
"gems must be installed one at a time. Upgrade to Rubygems 2.1.0 " \
|
203
|
+
"or higher to enable parallel gem installation."
|
205
204
|
false
|
206
205
|
end
|
207
206
|
end
|
@@ -47,6 +47,10 @@ module Bundler
|
|
47
47
|
end
|
48
48
|
@sources << @rubygems_aggregate
|
49
49
|
@specs = @specs.values
|
50
|
+
rescue ArgumentError => e
|
51
|
+
Bundler.ui.debug(e)
|
52
|
+
raise LockfileError, "Your lockfile is unreadable. Run `rm Gemfile.lock` " \
|
53
|
+
"and then `bundle install` to generate a new lockfile."
|
50
54
|
end
|
51
55
|
|
52
56
|
private
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'monitor'
|
1
2
|
require 'rubygems'
|
2
3
|
require 'rubygems/config_file'
|
3
4
|
|
@@ -134,6 +135,10 @@ module Bundler
|
|
134
135
|
Gem::DefaultUserInteraction.ui = obj
|
135
136
|
end
|
136
137
|
|
138
|
+
def ext_lock
|
139
|
+
@ext_lock ||= Monitor.new
|
140
|
+
end
|
141
|
+
|
137
142
|
def fetch_specs(all, pre, &blk)
|
138
143
|
specs = Gem::SpecFetcher.new.list(all, pre)
|
139
144
|
specs.each { yield } if block_given?
|
@@ -554,9 +559,37 @@ module Bundler
|
|
554
559
|
end
|
555
560
|
end
|
556
561
|
|
562
|
+
class MoreFuture < Future
|
563
|
+
def initialize
|
564
|
+
super
|
565
|
+
backport_ext_builder_monitor
|
566
|
+
end
|
567
|
+
|
568
|
+
def backport_ext_builder_monitor
|
569
|
+
require 'rubygems/ext'
|
570
|
+
|
571
|
+
Gem::Ext::Builder.class_eval do
|
572
|
+
if !const_defined?(:CHDIR_MONITOR)
|
573
|
+
const_set(:CHDIR_MONITOR, Monitor.new)
|
574
|
+
end
|
575
|
+
|
576
|
+
if const_defined?(:CHDIR_MUTEX)
|
577
|
+
remove_const(:CHDIR_MUTEX)
|
578
|
+
const_set(:CHDIR_MUTEX, const_get(:CHDIR_MONITOR))
|
579
|
+
end
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
def ext_lock
|
584
|
+
Gem::Ext::Builder::CHDIR_MONITOR
|
585
|
+
end
|
586
|
+
end
|
587
|
+
|
557
588
|
end
|
558
589
|
|
559
|
-
if RubygemsIntegration.provides?(">= 1.
|
590
|
+
if RubygemsIntegration.provides?(">= 2.1.0")
|
591
|
+
@rubygems = RubygemsIntegration::MoreFuture.new
|
592
|
+
elsif RubygemsIntegration.provides?(">= 1.99.99")
|
560
593
|
@rubygems = RubygemsIntegration::Future.new
|
561
594
|
elsif RubygemsIntegration.provides?('>= 1.8.20')
|
562
595
|
@rubygems = RubygemsIntegration::MoreModern.new
|
data/lib/bundler/settings.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
1
3
|
module Bundler
|
2
4
|
class Settings
|
3
5
|
BOOL_KEYS = %w(frozen cache_all no_prune disable_local_branch_check gem.mit gem.coc).freeze
|
@@ -127,6 +129,9 @@ module Bundler
|
|
127
129
|
|
128
130
|
private
|
129
131
|
def key_for(key)
|
132
|
+
if key.is_a?(String) && key.include?("http")
|
133
|
+
key = normalize_uri(key).to_s
|
134
|
+
end
|
130
135
|
key = key.to_s.gsub(".", "__").upcase
|
131
136
|
"BUNDLE_#{key}"
|
132
137
|
end
|
@@ -182,7 +187,9 @@ module Bundler
|
|
182
187
|
uri = uri.to_s
|
183
188
|
uri = "#{uri}/" unless uri =~ %r[/\Z]
|
184
189
|
uri = URI(uri)
|
185
|
-
|
190
|
+
unless uri.absolute?
|
191
|
+
raise ArgumentError, "Gem sources must be absolute. You provided '#{uri}'."
|
192
|
+
end
|
186
193
|
uri
|
187
194
|
end
|
188
195
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'monitor'
|
2
1
|
require 'pathname'
|
3
2
|
require 'rubygems'
|
4
3
|
|
@@ -19,7 +18,6 @@ end
|
|
19
18
|
module Bundler
|
20
19
|
module SharedHelpers
|
21
20
|
attr_accessor :gem_loaded
|
22
|
-
CHDIR_MONITOR = Monitor.new
|
23
21
|
|
24
22
|
def default_gemfile
|
25
23
|
gemfile = find_gemfile
|
@@ -52,7 +50,7 @@ module Bundler
|
|
52
50
|
end
|
53
51
|
|
54
52
|
def chdir_monitor
|
55
|
-
|
53
|
+
Bundler.rubygems.ext_lock
|
56
54
|
end
|
57
55
|
|
58
56
|
def chdir(dir, &blk)
|
data/lib/bundler/source/path.rb
CHANGED
@@ -172,7 +172,7 @@ module Bundler
|
|
172
172
|
end
|
173
173
|
|
174
174
|
def generate_bin(spec, disable_extensions = false)
|
175
|
-
gem_dir
|
175
|
+
gem_dir = Pathname.new(spec.full_gem_path)
|
176
176
|
|
177
177
|
# Some gem authors put absolute paths in their gemspec
|
178
178
|
# and we have to save them from themselves
|
@@ -5,8 +5,10 @@ require 'rubygems/spec_fetcher'
|
|
5
5
|
module Bundler
|
6
6
|
class Source
|
7
7
|
class Rubygems < Source
|
8
|
-
#
|
9
|
-
API_REQUEST_LIMIT =
|
8
|
+
# Use the API when installing less than X gems
|
9
|
+
API_REQUEST_LIMIT = 500
|
10
|
+
# Ask for X gems per API request
|
11
|
+
API_REQUEST_SIZE = 50
|
10
12
|
|
11
13
|
attr_reader :remotes, :caches
|
12
14
|
|
@@ -149,6 +151,9 @@ module Bundler
|
|
149
151
|
return if File.dirname(cached_path) == Bundler.app_cache.to_s
|
150
152
|
Bundler.ui.info " * #{File.basename(cached_path)}"
|
151
153
|
FileUtils.cp(cached_path, Bundler.app_cache(custom_path))
|
154
|
+
rescue Errno::EACCES => e
|
155
|
+
Bundler.ui.debug(e)
|
156
|
+
raise InstallError, e.message
|
152
157
|
end
|
153
158
|
|
154
159
|
def cached_built_in_gem(spec)
|
@@ -26,7 +26,7 @@ TODO: Write usage instructions here
|
|
26
26
|
|
27
27
|
## Development
|
28
28
|
|
29
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment
|
29
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.<% if config[:bin] %> Run `bundle exec <%= config[:name] %>` to use the code located in this directory, ignoring other installed copies of this gem.<% end %>
|
30
30
|
|
31
31
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
32
|
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.license = "MIT"
|
20
20
|
|
21
21
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
|
+
spec.bindir = "exe"
|
22
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
24
|
spec.require_paths = ["lib"]
|
24
25
|
<%- if config[:ext] -%>
|
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.8.
|
5
|
+
VERSION = "1.8.1" unless defined?(::Bundler::VERSION)
|
6
6
|
end
|
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.8.
|
4
|
+
version: 1.8.1
|
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-02-
|
14
|
+
date: 2015-02-14 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: mustache
|