Commit bf9894fd authored by Samuel E. Giddins's avatar Samuel E. Giddins

[Resolver] Add filtering for subspecs included via subspec_dependencies

parent 4cdea76a
......@@ -15,7 +15,7 @@ gem 'json', '1.7.7'
group :development do
cp_gem 'claide', 'CLAide'
cp_gem 'cocoapods-core', 'Core'
cp_gem 'cocoapods-core', 'Core', 'seg-from-subspec-dependencies'
cp_gem 'cocoapods-downloader', 'cocoapods-downloader'
cp_gem 'cocoapods-plugins', 'cocoapods-plugins'
cp_gem 'cocoapods-trunk', 'cocoapods-trunk'
......@@ -44,4 +44,3 @@ group :debugging do
gem 'pry'
gem 'ruby-prof'
end
......@@ -7,8 +7,8 @@ GIT
GIT
remote: https://github.com/CocoaPods/Core.git
revision: 8b554d8dd184e75bb79dcc86a7056e9fef35e952
branch: master
revision: afa6cd5ea769a8044d36a002f7e1e2ec2710da00
branch: seg-from-subspec-dependencies
specs:
cocoapods-core (0.34.4)
activesupport (>= 3.2.15)
......@@ -17,7 +17,7 @@ GIT
GIT
remote: https://github.com/CocoaPods/Molinillo.git
revision: 67d09200c8baca9547f54a0145b405c658e0ba07
revision: e86cec392a75c577f2c803d8cc87debe41a9bdbe
branch: master
specs:
molinillo (0.1.0)
......
......@@ -68,9 +68,20 @@ module Pod
specs_by_target = {}
podfile.target_definition_list.each do |target|
specs = target.dependencies.map(&:name).map do |name|
s = lambda do |node|
d_nodes = node.outgoing_edges.select do |edge|
edge.requirements.any? do |dependency|
!dependency.from_subspec_dependency? || edge.destination.payload.available_platforms.any? { |p| target.platform.supports?(p) }
end
end.map(&:destination)
d_nodes + d_nodes.flat_map { |n| s.call(n) }
end
node = @activated.vertex_named(name)
(node.recursive_successors << node).to_a
s.call(node).to_a << node
end
specs_by_target[target] = specs.
flatten.
map(&:payload).
......
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