1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// REQUIRES: objc_interop
// RUN: %empty-directory(%t)
// RUN: %empty-directory(%t/clang-module-cache)
// RUN: %empty-directory(%t/DependencyModules)
// RUN: split-file --leading-lines %s %t
// Emit a binary module dependency
// RUN: %target-swift-frontend -emit-module -emit-module-path %t/DependencyModules/BinaryModuleDep.swiftmodule -module-cache-path %t/clang-module-cache %t/BinaryModuleDepSource.swift -module-name BinaryModuleDep -I %S/Inputs/CHeaders -I %S/Inputs/Swift
// Scan the client and ensure both the Client and BinaryModuleDep modules have a Swift overlay dependency on 'F' as imported by 'ClangModuleWithOverlayedDep'
// RUN: %target-swift-frontend -scan-dependencies -module-load-mode prefer-interface -module-cache-path %t/clang-module-cache %s -o %t/deps.json -I %S/Inputs/CHeaders -I %S/Inputs/Swift -I %t/DependencyModules
// Check the contents of the JSON output
// RUN: %validate-json %t/deps.json | %FileCheck %s
//--- BinaryModuleDepSource.swift
import ClangModuleWithOverlayedDep
//--- Client.swift
import BinaryModuleDep
// CHECK: "swift": "deps"
// CHECK: "directDependencies": [
// CHECK-DAG: "swift": "Swift"
// CHECK-DAG: "swift": "SwiftOnoneSupport"
// CHECK-DAG: "swift": "_Concurrency"
// CHECK-DAG: "clang": "_SwiftConcurrencyShims"
// CHECK-DAG: "swift": "_StringProcessing"
// CHECK-DAG: "clang": "ClangModuleWithOverlayedDep"
// CHECK-DAG: "swiftPrebuiltExternal": "BinaryModuleDep"
// CHECK-DAG: "swift": "F"
// CHECK: ],
// CHECK: "swiftOverlayDependencies": [
// CHECK-NEXT: {
// CHECK-NEXT: "swift": "F"
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK: "swiftPrebuiltExternal": "BinaryModuleDep"
// CHECK: "directDependencies": [
// CHECK-DAG: "swift": "Swift"
// CHECK-DAG: "swift": "SwiftOnoneSupport"
// CHECK-DAG: "swift": "_Concurrency"
// CHECK-DAG: "clang": "_SwiftConcurrencyShims"
// CHECK-DAG: "swift": "_StringProcessing"
// CHECK-DAG: "clang": "ClangModuleWithOverlayedDep"
// CHECK-DAG: "swift": "F"
// CHECK: ],
// CHECK: "swiftOverlayDependencies": [
// CHECK-NEXT: {
// CHECK-NEXT: "swift": "F"
// CHECK-NEXT: }
// CHECK-NEXT: ]
|