         explicitDependencyJobTracker: UniqueExplicitDependencyJobTracker? = nil
     ) throws {
         // Pass the driver its external dependencies (target dependencies)
-        var dependencyModulePathMap: SwiftDriver.ExternalTargetModulePathMap = [:]
+        var dependencyModuleDetailsMap: SwiftDriver.ExternalTargetModuleDetailsMap = [:]
         // Collect paths for target dependencies of this target (direct and transitive)
-        try self.collectTargetDependencyModulePaths(for: targetDescription.target, dependencyModulePathMap: &dependencyModulePathMap)
+        try self.collectTargetDependencyModuleDetails(for: targetDescription.target, dependencyModuleDetailsMap: &dependencyModuleDetailsMap)
 
         // Compute the set of frontend
         // jobs needed to build this Swift target.


    /// Collect a map from all target dependencies of the specified target to the build planning artifacts for said dependency,
    /// in the form of a path to a .swiftmodule file and the dependency's InterModuleDependencyGraph.
    private func collectTargetDependencyModulePaths(
        for target: ResolvedTarget,
        dependencyModulePathMap: inout SwiftDriver.ExternalTargetModulePathMap
    ) throws {
        for dependency in target.dependencies(satisfying: self.buildEnvironment) {
            switch dependency {

        var driver = try Driver(args: commandLine,
                                fileSystem: self.fileSystem,
                                executor: executor,
                                externalTargetModuleDetailsMap: dependencyModuleDetailsMap,
                                interModuleDependencyOracle: dependencyOracle
        )
        let jobs = try driver.planBuild()
