Skip to content

Commit 93d3e2a

Browse files
authored
Fix handling of file-system based dependencies (#4175)
In case of using a custom package container provider, a custom file-system object can be provided for package dependencies. Providing one for local, file-system based dependencies doesn't make sense and should be skipped.
1 parent 51e25fc commit 93d3e2a

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

Sources/Workspace/Workspace.swift

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4061,18 +4061,21 @@ extension Workspace {
40614061
return nil
40624062
}
40634063

4064-
guard case .custom(_, _) = state else {
4065-
observabilityScope.emit(error: "invalid managed dependency state for custom dependency: \(state)")
4064+
switch state {
4065+
// File-system based dependencies do not provide a custom file system object.
4066+
case .fileSystem:
40664067
return nil
4067-
}
4068-
4069-
let container = try temp_await { packageContainerProvider.getContainer(for: package, skipUpdate: true, observabilityScope: observabilityScope, on: .sharedConcurrent, completion: $0) }
4070-
guard let customContainer = container as? CustomPackageContainer else {
4071-
observabilityScope.emit(error: "invalid custom dependency container: \(container)")
4068+
case .custom:
4069+
let container = try temp_await { packageContainerProvider.getContainer(for: package, skipUpdate: true, observabilityScope: observabilityScope, on: .sharedConcurrent, completion: $0) }
4070+
guard let customContainer = container as? CustomPackageContainer else {
4071+
observabilityScope.emit(error: "invalid custom dependency container: \(container)")
4072+
return nil
4073+
}
4074+
return try customContainer.getFileSystem()
4075+
default:
4076+
observabilityScope.emit(error: "invalid managed dependency state for custom dependency: \(state)")
40724077
return nil
40734078
}
4074-
4075-
return try customContainer.getFileSystem()
40764079
}
40774080
}
40784081

0 commit comments

Comments
 (0)