Skip to content

Commit 44135cc

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

File tree

3 files changed

+20
-28
lines changed

3 files changed

+20
-28
lines changed

Package.swift

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

90+
let shoudUseSwiftBuildFramework = (ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] != nil)
91+
92+
let swiftDriverDep: [Target.Dependency]
93+
let swiftToolsCoreSupportAutoDep: [Target.Dependency]
94+
95+
if shoudUseSwiftBuildFramework {
96+
swiftDriverDep = []
97+
swiftToolsCoreSupportAutoDep = []
98+
} else {
99+
swiftDriverDep = [
100+
.product(name: "SwiftDriver", package: "swift-driver")
101+
]
102+
swiftToolsCoreSupportAutoDep = [
103+
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core")
104+
]
105+
}
90106
let package = Package(
91107
name: "SwiftPM",
92108
platforms: [
@@ -231,9 +247,8 @@ let package = Package(
231247
.product(name: "SwiftToolchainCSQLite", package: "swift-toolchain-sqlite", condition: .when(platforms: [.windows, .android])),
232248
.product(name: "DequeModule", package: "swift-collections"),
233249
.product(name: "OrderedCollections", package: "swift-collections"),
234-
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
235250
.product(name: "SystemPackage", package: "swift-system"),
236-
],
251+
] + swiftToolsCoreSupportAutoDep,
237252
exclude: ["CMakeLists.txt", "Vendor/README.md"],
238253
swiftSettings: [
239254
.enableExperimentalFeature("StrictConcurrency"),
@@ -440,10 +455,9 @@ let package = Package(
440455
"PackageGraph",
441456
"SPMBuildCore",
442457
"SPMLLBuild",
443-
.product(name: "SwiftDriver", package: "swift-driver"),
444458
.product(name: "OrderedCollections", package: "swift-collections"),
445459
"DriverSupport",
446-
],
460+
] + swiftDriverDep,
447461
exclude: ["CMakeLists.txt"],
448462
swiftSettings: [
449463
.unsafeFlags(["-static"]),
@@ -454,8 +468,7 @@ let package = Package(
454468
dependencies: [
455469
"Basics",
456470
"PackageModel",
457-
.product(name: "SwiftDriver", package: "swift-driver"),
458-
],
471+
] + swiftDriverDep,
459472
exclude: ["CMakeLists.txt"],
460473
swiftSettings: [
461474
.unsafeFlags(["-static"]),
@@ -1050,8 +1063,7 @@ if ProcessInfo.processInfo.environment["ENABLE_APPLE_PRODUCT_TYPES"] == "1" {
10501063
}
10511064
}
10521065

1053-
if ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil &&
1054-
ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil {
1066+
if !shoudUseSwiftBuildFramework {
10551067

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

Tests/CommandsTests/BuildCommandTests.swift

-4
Original file line numberDiff line numberDiff line change
@@ -932,10 +932,6 @@ class BuildCommandSwiftBuildTests: BuildCommandTestCases {
932932
}
933933
#endif
934934

935-
if ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] != nil {
936-
throw XCTSkip("SWIFTPM_NO_SWBUILD_DEPENDENCY is set so skipping because SwiftPM doesn't have the swift-build capability built inside.")
937-
}
938-
939935
try await super.testBuildSystemDefaultSettings()
940936
}
941937

Tests/CommandsTests/TestCommandTests.swift

-16
Original file line numberDiff line numberDiff line change
@@ -624,22 +624,6 @@ class TestCommandSwiftBuildTests: TestCommandTestCase {
624624
try await super.testUsage()
625625
}
626626

627-
override func testFatalErrorDisplayedCorrectNumberOfTimesWhenSingleXCTestHasFatalErrorInBuildCompilation() async throws {
628-
guard ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil else {
629-
throw XCTSkip("Skipping test because SwiftBuild is not linked in.")
630-
}
631-
632-
try await super.testFatalErrorDisplayedCorrectNumberOfTimesWhenSingleXCTestHasFatalErrorInBuildCompilation()
633-
}
634-
635-
override func testListWithSkipBuildAndNoBuildArtifacts() async throws {
636-
guard ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil else {
637-
throw XCTSkip("Skipping test because SwiftBuild is not linked in.")
638-
}
639-
640-
try await super.testListWithSkipBuildAndNoBuildArtifacts()
641-
}
642-
643627
override func testList() async throws {
644628
throw XCTSkip("SWBINTTODO: Test currently fails due to 'error: build failed'")
645629
}

0 commit comments

Comments
 (0)