// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers // // SPDX-License-Identifier: MPL-2.0 import Foundation import llbuild2fx extension Keys.SourceTree { struct GetDependencies: BuildKey { let sourceTreeId: LLBDataID let unitName: UnitName typealias ValueType = Set static let versionDependencies: [any FXVersioning.Type] = [Keys.SourceTree.GetDependencyGraph.self] func computeValue(_ ctx: BuildContext) async throws -> ValueType { let graph = try await ctx.request(Keys.SourceTree.GetDependencyGraph(sourceTreeId: sourceTreeId)) return graph.verticesReachableFrom(unitName) } } }