Skip to content

Commit cbc94bd

Browse files
committed
Address feedback
1 parent 49075cb commit cbc94bd

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

Sources/SWBTaskExecution/TaskActions/ValidateDependenciesTaskAction.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ public final class ValidateDependenciesTaskAction: TaskAction {
3636
}
3737

3838
do {
39-
var allFiles = Set<String>()
40-
var allImports = Set<DependencyValidationInfo.Import>()
39+
var allClangFiles = Set<String>()
40+
var allSwiftImports = Set<DependencyValidationInfo.Import>()
4141
var unsupported = false
4242

4343
for inputPath in task.inputPaths {
@@ -47,11 +47,11 @@ public final class ValidateDependenciesTaskAction: TaskAction {
4747
switch info.payload {
4848
case .clangDependencies(let files):
4949
files.forEach {
50-
allFiles.insert($0)
50+
allClangFiles.insert($0)
5151
}
5252
case .swiftDependencies(let imports):
5353
imports.forEach {
54-
allImports.insert($0)
54+
allSwiftImports.insert($0)
5555
}
5656
case .unsupported:
5757
unsupported = true
@@ -63,8 +63,8 @@ public final class ValidateDependenciesTaskAction: TaskAction {
6363
if unsupported {
6464
diagnostics.append(contentsOf: context.makeDiagnostics(missingDependencies: nil))
6565
} else {
66-
let clangMissingDeps = context.computeMissingDependencies(files: allFiles.map { Path($0) })
67-
let swiftMissingDeps = context.computeMissingDependencies(imports: allImports.map { ($0.dependency, $0.importLocations) })
66+
let clangMissingDeps = context.computeMissingDependencies(files: allClangFiles.map { Path($0) })
67+
let swiftMissingDeps = context.computeMissingDependencies(imports: allSwiftImports.map { ($0.dependency, $0.importLocations) })
6868

6969
// Update Swift dependencies with information from Clang dependencies on the same module.
7070
var clangMissingDepsByName = [String: (ModuleDependency, importLocations: [Diagnostic.Location])]()
@@ -83,7 +83,7 @@ public final class ValidateDependenciesTaskAction: TaskAction {
8383
} ?? []
8484

8585
// Filter missing C dependencies by known Swift dependencies to avoid duplicate diagnostics.
86-
let swiftImports = allImports.map { $0.dependency.name }
86+
let swiftImports = Set(allSwiftImports.map { $0.dependency.name })
8787
let uniqueClangMissingDeps = clangMissingDeps?.filter { !swiftImports.contains($0.0.name) } ?? []
8888

8989
diagnostics.append(contentsOf: context.makeDiagnostics(missingDependencies: uniqueClangMissingDeps + updatedSwiftMissingDeps))

Tests/SWBBuildSystemTests/DependencyValidationTests.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,19 +601,21 @@ fileprivate struct DependencyValidationTests: CoreBasedTests {
601601
try await tester.fs.writeFileContents(SRCROOT.join("Sources/Swift.swift")) { stream in
602602
stream <<< """
603603
import Foundation
604+
import AppKit
604605
"""
605606
}
606607

607608
try await tester.fs.writeFileContents(SRCROOT.join("Sources/CoreFoo.m")) { contents in
608609
contents <<< """
609610
#include <Foundation/Foundation.h>
611+
#include <Accelerate/Accelerate.h>
610612
611613
void f(void) { };
612614
"""
613615
}
614616

615617
try await tester.checkBuild(parameters: BuildParameters(configuration: "Debug"), runDestination: .host, persistent: true) { results in
616-
results.checkError(.contains("Missing entries in MODULE_DEPENDENCIES: Foundation"))
618+
results.checkError(.contains("Missing entries in MODULE_DEPENDENCIES: Accelerate AppKit Foundation"))
617619
}
618620
}
619621
}

0 commit comments

Comments
 (0)