15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/cocoapods-spm/swift/package/project_packages.rb', line 15
def resolve_recursive_targets_of(pkg_name, product_name, platform: nil)
@recursive_targets_cache ||= {}
@recursive_targets_cache[platform] ||= {}
return @recursive_targets_cache[platform][product_name] if @recursive_targets_cache[platform].key(product_name)
res = []
to_visit = pkg_desc_of(pkg_name).targets_of_product(product_name)
until to_visit.empty?
target = to_visit.pop
res << target
to_visit += target.resolve_dependencies(@pkg_desc_cache, platform: platform).reject(&:macro?)
end
@recursive_targets_cache[platform][product_name] = res.uniq(&:name)
end
|