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