Commit 6fc159de authored by Samuel E. Giddins's avatar Samuel E. Giddins

[Resolver] Allow platform detection to work for nested dependencies

parent d7ca4c95
......@@ -537,7 +537,7 @@ module Pod
end
specs_by_target = nil
UI.section "Resolving dependencies of #{UI.path podfile.defined_in_file}" do
UI.section "Resolving dependencies of #{UI.path(podfile.defined_in_file) || 'Podfile'}" do
resolver = Resolver.new(sandbox, podfile, locked_dependencies, sources)
specs_by_target = resolver.resolve
specs_by_target.values.flatten(1).each(&:validate_cocoapods_version)
......
......@@ -409,10 +409,10 @@ module Pod
def spec_is_platform_compatible?(dependency_graph, dependency, spec)
all_predecessors = ->(vertex) do
pred = vertex.predecessors
pred + pred.map(&all_predecessors).reduce(Set.new, &:&) << vertex
pred + pred.map(&all_predecessors).reduce(Set.new, &:|) << vertex
end
vertex = dependency_graph.vertex_named(dependency.name)
predecessors = all_predecessors[vertex].reject { |v| v.explicit_requirements.empty? }
predecessors = all_predecessors[vertex].reject { |v| !dependency_graph.root_vertex_named(v.name) }
platforms_to_satisfy = predecessors.flat_map(&:explicit_requirements).flat_map { |r| @platforms_by_dependency[r] }
platforms_to_satisfy.all? do |platform_to_satisfy|
......
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