at main 641 B view raw
1// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers 2// 3// SPDX-License-Identifier: MPL-2.0 4 5import Foundation 6import llbuild2fx 7 8extension Keys.SourceTree { 9 struct GetDependencies: BuildKey { 10 let sourceTreeId: LLBDataID 11 let unitName: UnitName 12 13 typealias ValueType = Set<UnitName> 14 15 static let versionDependencies: [any FXVersioning.Type] = [Keys.SourceTree.GetDependencyGraph.self] 16 17 func computeValue(_ ctx: BuildContext<Self>) async throws -> ValueType { 18 let graph = try await ctx.request(Keys.SourceTree.GetDependencyGraph(sourceTreeId: sourceTreeId)) 19 return graph.verticesReachableFrom(unitName) 20 } 21 } 22}