in Sources/XCRemoteCache/Commands/Swiftc/MirroredLinkingSwiftcProductsGenerator.swift [55:81]
func generateFrom(
artifactSwiftModuleFiles: [SwiftmoduleFileExtension: URL],
artifactSwiftModuleObjCFile: URL
) throws -> SwiftcProductsGeneratorOutput {
/// Predict moduleName from the `*.swiftmodule` artifact
let foundSwiftmoduleFile = artifactSwiftModuleFiles[.swiftmodule]
guard let mainSwiftmoduleFile = foundSwiftmoduleFile else {
throw MirroredLinkingSwiftcProductsGeneratorError.missingMainSwiftmoduleFileToGenerateFrom
}
let moduleName = mainSwiftmoduleFile.deletingPathExtension().lastPathComponent
let modulePathOutput = buildDir
.appendingPathComponent("\(moduleName).swiftmodule")
.appendingPathComponent(arch)
.appendingPathExtension("swiftmodule")
let objcHeaderOutput = headersDir.appendingPathComponent("\(moduleName)-Swift.h")
let generator = DiskSwiftcProductsGenerator(
modulePathOutput: modulePathOutput,
objcHeaderOutput: objcHeaderOutput,
diskCopier: diskCopier
)
return try generator.generateFrom(
artifactSwiftModuleFiles: artifactSwiftModuleFiles,
artifactSwiftModuleObjCFile: artifactSwiftModuleObjCFile
)
}