INNER CODE UNIT · Swift
dependencies
skiptools/skip · Plugins/SkipPlugin/SkipPlugin.swift:199
func dependencies(for targetDependencies: [TargetDependency], in package: Package) -> [Dep] {
return targetDependencies.flatMap { dep in
switch dep {
case .product(let product):
guard let productPackage = productIDPackages[product.id] else {
// product may have been unrecognized, like a macro
return [] as [Dep]
}
return product.targets.flatMap { target in
// stop at any external targets
if skipRootTargetNames.contains(target.name) || !visitedTargetIDs.insert(target.id).inserted {
return [] as [Dep]
}
return [Dep(package: productPackage, target: target)] + dependencies(for: target.dependencies, in: productPackage)
}
case .target(let target):
if skipRootTargetNames.contains(target.name) || !visitedTargetIDs.insert(target.id).inserted {