bundler-explain 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/bundler-explain.gemspec +1 -1
- data/lib/bundler/explain/source.rb +26 -23
- data/lib/bundler/explain/version.rb +1 -1
- data/test.rb +3 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8d63967f4fd9dd1648af8eeb3330127d2ecd62e9f68e9584083f4cf7ad3034d
|
4
|
+
data.tar.gz: b9ac527443c2b9da6fc5eedd8cff907bd7e3169b47c210349f0ae7d06000eb72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57ca6ba698a1c3d180cf0b726d1f8b0cb445ecb58595d417438298e751a82df3ec85079a7c1af2e1d7992bc3466fae7e92204c81bb5530bcfb6f702bd7996232
|
7
|
+
data.tar.gz: 1cbfaa3d30afbf3c16297922d93d0ef85cb01a7418b05a06c144b6dbff46c4e0328601ec37d461a1d0fe5bad6e995d430acf2b0ee8df5f987b1d6311e79c048f
|
data/README.md
CHANGED
data/bundler-explain.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.add_dependency "bundler", "~> 1.16"
|
25
|
-
spec.add_dependency "pub_grub", "~> 0.
|
25
|
+
spec.add_dependency "pub_grub", "~> 0.3.0"
|
26
26
|
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
@@ -17,12 +17,7 @@ module Bundler
|
|
17
17
|
end
|
18
18
|
|
19
19
|
@package_by_name = Hash.new do |h, name|
|
20
|
-
h[name] =
|
21
|
-
PubGrub::Package.new(name) do |package|
|
22
|
-
@specs_by_name[name].each do |spec_group|
|
23
|
-
package.add_version spec_group.version.to_s
|
24
|
-
end
|
25
|
-
end
|
20
|
+
h[name] = PubGrub::Package.new(name)
|
26
21
|
end
|
27
22
|
|
28
23
|
@deps_by_spec = Hash.new do |h, s|
|
@@ -32,13 +27,25 @@ module Bundler
|
|
32
27
|
end
|
33
28
|
end
|
34
29
|
|
35
|
-
def
|
36
|
-
|
30
|
+
def root_package
|
31
|
+
PubGrub::Package.root
|
32
|
+
end
|
33
|
+
|
34
|
+
def versions_for(package, range)
|
35
|
+
return [PubGrub::Package.root_version] if package == root_package
|
37
36
|
|
38
|
-
package
|
37
|
+
@specs_by_name[package.name].map do |spec_group|
|
38
|
+
spec_group.version
|
39
|
+
end.select do |version|
|
40
|
+
range.include?(version)
|
41
|
+
end
|
42
|
+
end
|
39
43
|
|
40
|
-
|
41
|
-
|
44
|
+
def incompatibilities_for(package, version)
|
45
|
+
return enum_for(__method__, package, version) unless block_given?
|
46
|
+
|
47
|
+
if package == root_package
|
48
|
+
source_constraint = PubGrub::VersionConstraint.exact(package, version)
|
42
49
|
source_term = PubGrub::Term.new(source_constraint, true)
|
43
50
|
|
44
51
|
@requirements.each do |dependency|
|
@@ -48,8 +55,8 @@ module Bundler
|
|
48
55
|
yield PubGrub::Incompatibility.new([source_term, target_term], cause: :dependency)
|
49
56
|
end
|
50
57
|
else
|
51
|
-
specs = @specs_by_name[
|
52
|
-
spec = specs.detect { |s| s.version
|
58
|
+
specs = @specs_by_name[package.name]
|
59
|
+
spec = specs.detect { |s| s.version == version }
|
53
60
|
raise "can't find spec" unless spec
|
54
61
|
|
55
62
|
@deps_by_spec[spec].each do |dep_name, dep_requirement|
|
@@ -92,7 +99,7 @@ module Bundler
|
|
92
99
|
v = original_version
|
93
100
|
s = original_version.segments
|
94
101
|
|
95
|
-
return [] unless s.length
|
102
|
+
return [] unless s.length >= 3
|
96
103
|
|
97
104
|
yield Gem::Requirement.new(">= #{s[0]}.#{s[1]}.a", "< #{v.release}")
|
98
105
|
yield Gem::Requirement.new(["~> #{s[0]}.#{s[1]}.0"])
|
@@ -121,11 +128,10 @@ module Bundler
|
|
121
128
|
if !low_spec && !high_spec
|
122
129
|
PubGrub::VersionConstraint.any(package)
|
123
130
|
elsif low_spec == high_spec
|
124
|
-
PubGrub::VersionConstraint.exact(package
|
131
|
+
PubGrub::VersionConstraint.exact(package, low_version)
|
125
132
|
else
|
126
|
-
|
127
|
-
|
128
|
-
PubGrub::VersionConstraint.new(package, [low, high].compact)
|
133
|
+
range = PubGrub::VersionRange.new(min: low_version, max: high_version, include_min: true)
|
134
|
+
PubGrub::VersionConstraint.new(package, range: range)
|
129
135
|
end
|
130
136
|
end
|
131
137
|
|
@@ -152,16 +158,13 @@ module Bundler
|
|
152
158
|
break unless yield(sorted_list[low])
|
153
159
|
end
|
154
160
|
|
155
|
-
[low && low + 1, high
|
161
|
+
[low && low + 1, high]
|
156
162
|
end
|
157
163
|
|
158
164
|
def constraint_for_dep(name, requirement)
|
159
165
|
package = @package_by_name[name]
|
160
166
|
|
161
|
-
|
162
|
-
requirement = requirement.to_s.split(", ")
|
163
|
-
|
164
|
-
PubGrub::VersionConstraint.new(package, requirement)
|
167
|
+
PubGrub::RubyGems.requirement_to_constraint(package, requirement)
|
165
168
|
end
|
166
169
|
end
|
167
170
|
end
|
data/test.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
$LOAD_PATH.unshift "
|
1
|
+
$LOAD_PATH.unshift "#{__dir__}/lib"
|
2
|
+
$LOAD_PATH.unshift "#{__dir__}/../pub_grub/lib"
|
2
3
|
require 'bundler/explain'
|
3
4
|
require 'pub_grub'
|
4
|
-
|
5
|
-
ENV['DEBUG'] = 'true'
|
5
|
+
require 'pub_grub/rubygems'
|
6
6
|
|
7
7
|
Bundler.ui = Bundler::UI::Shell.new
|
8
8
|
PubGrub.logger.level = Logger::DEBUG
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bundler-explain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Hawthorn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.7.
|
112
|
+
rubygems_version: 2.7.7
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Explains bundle update conflicts
|