Skip to content

Commit f22279f

Browse files
committed
Revert "Revert "Sever the package dependency if using SwiftBuild Framework" (…"
This reverts commit e64232e, with some changes
1 parent e64232e commit f22279f

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

Diff for: Package.swift

+25-8
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,27 @@ if ProcessInfo.processInfo.environment["SWIFTCI_INSTALL_RPATH_OS"] == "android"
8787
*/
8888
let autoProducts = [swiftPMProduct, swiftPMDataModelProduct]
8989

90+
let shouldUseSwiftBuildPackageDependency = (
91+
ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil &&
92+
ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil
93+
)
94+
95+
96+
let swiftDriverDep: [Target.Dependency]
97+
let swiftToolsCoreSupportAutoDep: [Target.Dependency]
98+
let swiftToolsCoreSupportTestDep: [Target.Dependency]
99+
100+
if shouldUseSwiftBuildPackageDependency {
101+
swiftDriverDep = [
102+
.product(name: "SwiftDriver", package: "swift-driver")
103+
]
104+
swiftToolsCoreSupportAutoDep = [
105+
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core")
106+
]
107+
} else {
108+
swiftDriverDep = []
109+
swiftToolsCoreSupportAutoDep = []
110+
}
90111
let package = Package(
91112
name: "SwiftPM",
92113
platforms: [
@@ -231,9 +252,8 @@ let package = Package(
231252
.product(name: "SwiftToolchainCSQLite", package: "swift-toolchain-sqlite", condition: .when(platforms: [.windows, .android])),
232253
.product(name: "DequeModule", package: "swift-collections"),
233254
.product(name: "OrderedCollections", package: "swift-collections"),
234-
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
235255
.product(name: "SystemPackage", package: "swift-system"),
236-
],
256+
] + swiftToolsCoreSupportAutoDep,
237257
exclude: ["CMakeLists.txt", "Vendor/README.md"],
238258
swiftSettings: [
239259
.enableExperimentalFeature("StrictConcurrency"),
@@ -440,10 +460,9 @@ let package = Package(
440460
"PackageGraph",
441461
"SPMBuildCore",
442462
"SPMLLBuild",
443-
.product(name: "SwiftDriver", package: "swift-driver"),
444463
.product(name: "OrderedCollections", package: "swift-collections"),
445464
"DriverSupport",
446-
],
465+
] + swiftDriverDep,
447466
exclude: ["CMakeLists.txt"],
448467
swiftSettings: [
449468
.unsafeFlags(["-static"]),
@@ -454,8 +473,7 @@ let package = Package(
454473
dependencies: [
455474
"Basics",
456475
"PackageModel",
457-
.product(name: "SwiftDriver", package: "swift-driver"),
458-
],
476+
] + swiftDriverDep,
459477
exclude: ["CMakeLists.txt"],
460478
swiftSettings: [
461479
.unsafeFlags(["-static"]),
@@ -1050,8 +1068,7 @@ if ProcessInfo.processInfo.environment["ENABLE_APPLE_PRODUCT_TYPES"] == "1" {
10501068
}
10511069
}
10521070

1053-
if ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil &&
1054-
ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil {
1071+
if shouldUseSwiftBuildPackageDependency {
10551072

10561073
let swiftbuildsupport: Target = package.targets.first(where: { $0.name == "SwiftBuildSupport" } )!
10571074
swiftbuildsupport.dependencies += [

0 commit comments

Comments
 (0)