Unverified Commit b9523d0e authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #3945 from take-cheeze/fix_dep_core_gems

Fix core dependencies resolving in dependencies gems.
parents 2c84d948 3dc8634d
...@@ -323,20 +323,22 @@ module MRuby ...@@ -323,20 +323,22 @@ module MRuby
@ary.empty? @ary.empty?
end end
def default_gem_params dep
if dep[:default]; dep
elsif File.exist? "#{MRUBY_ROOT}/mrbgems/#{dep[:gem]}" # check core
{ :gem => dep[:gem], :default => { :core => dep[:gem] } }
else # fallback to mgem-list
{ :gem => dep[:gem], :default => { :mgem => dep[:gem] } }
end
end
def generate_gem_table build def generate_gem_table build
gem_table = @ary.reduce({}) { |res,v| res[v.name] = v; res } gem_table = @ary.reduce({}) { |res,v| res[v.name] = v; res }
default_gems = [] default_gems = []
each do |g| each do |g|
g.dependencies.each do |dep| g.dependencies.each do |dep|
unless gem_table.key? dep[:gem] default_gems << default_gem_params(dep) unless gem_table.key? dep[:gem]
if dep[:default]; default_gems << dep
elsif File.exist? "#{MRUBY_ROOT}/mrbgems/#{dep[:gem]}" # check core
default_gems << { :gem => dep[:gem], :default => { :core => dep[:gem] } }
else # fallback to mgem-list
default_gems << { :gem => dep[:gem], :default => { :mgem => dep[:gem] } }
end
end
end end
end end
...@@ -348,11 +350,7 @@ module MRuby ...@@ -348,11 +350,7 @@ module MRuby
spec.setup spec.setup
spec.dependencies.each do |dep| spec.dependencies.each do |dep|
unless gem_table.key? dep[:gem] default_gems << default_gem_params(dep) unless gem_table.key? dep[:gem]
if dep[:default]; default_gems << dep
else default_gems << { :gem => dep[:gem], :default => { :mgem => dep[:gem] } }
end
end
end end
gem_table[spec.name] = spec gem_table[spec.name] = spec
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment