mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
https://github.com/swiftlang/swift/pull/79297 implemented current working directory pruning but left some unnecessary code that computes Swift interface module output path prematurely. This PR removes the code that computes the output path too early. The `ExplicitModuleDependencyResolver` now adds the path to the command line after it can correctly compute it. Context: https://github.com/swiftlang/swift/pull/79297/files#r1955314542
56 lines
2.2 KiB
Swift
56 lines
2.2 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: mkdir -p %t/clang-module-cache
|
|
|
|
// 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 -emit-dependencies -emit-dependencies-path %t/deps.d -import-objc-header %S/Inputs/CHeaders/Bridging.h -swift-version 4
|
|
// Check the contents of the JSON output
|
|
// RUN: %validate-json %t/deps.json | %FileCheck %s
|
|
|
|
// REQUIRES: executable_test
|
|
// REQUIRES: objc_interop
|
|
|
|
|
|
import F
|
|
|
|
// CHECK: "mainModuleName": "deps"
|
|
|
|
/// --------Main module
|
|
// CHECK-LABEL: "modulePath": "deps.swiftmodule",
|
|
// CHECK-NEXT: sourceFiles
|
|
// CHECK-NEXT: explicit-swift-dependencies.swift
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "directDependencies": [
|
|
// CHECK-DAG: "swift": "F"
|
|
// CHECK-DAG: "swift": "Swift"
|
|
// CHECK-DAG: "swift": "SwiftOnoneSupport"
|
|
// CHECK-DAG: "swift": "_Concurrency"
|
|
// CHECK-DAG: "clang": "_SwiftConcurrencyShims"
|
|
// CHECK-DAG: "swift": "_StringProcessing"
|
|
// CHECK: ],
|
|
|
|
/// --------Swift module F
|
|
// CHECK: "modulePath": "{{.*}}{{/|\\}}F-{{.*}}.swiftmodule",
|
|
// CHECK: directDependencies
|
|
// CHECK-NEXT: {
|
|
// CHECK-DAG: "clang": "F"
|
|
// CHECK-DAG: "swift": "Swift"
|
|
// CHECK-DAG: "swift": "SwiftOnoneSupport"
|
|
|
|
|
|
// CHECK: "commandLine": [
|
|
// CHECK-NEXT: "-frontend",
|
|
// CHECK-NEXT: "-compile-module-from-interface",
|
|
// CHECK-NEXT: "-target",
|
|
// ...
|
|
// CHECK: "-explicit-interface-module-build",
|
|
// CHECK-NEXT: "-disable-implicit-swift-modules",
|
|
// CHECK-NEXT: "-Xcc",
|
|
// CHECK-NEXT: "-fno-implicit-modules",
|
|
// CHECK-NEXT: "-Xcc",
|
|
// CHECK-NEXT: "-fno-implicit-module-maps",
|
|
// CHECK-DAG: "-swift-module-file=Swift={{.*}}{{/|\\}}Swift-{{.*}}.swiftmodule"
|
|
// CHECK-DAG: "-swift-module-file=SwiftOnoneSupport={{.*}}{{/|\\}}SwiftOnoneSupport-{{.*}}.swiftmodule"
|
|
// CHECK-DAG: "-fmodule-file=F={{.*}}{{/|\\}}F-{{.*}}.pcm"
|
|
// CHECK-DAG: "-fmodule-file=SwiftShims={{.*}}{{/|\\}}SwiftShims-{{.*}}.pcm"
|
|
// CHECK-NEXT: "-o",
|
|
// CHECK-NEXT: "{{.*}}{{/|\\}}F-{{.*}}.swiftmodule"
|