From 44135ccd77da802daed78aa70820d67ffbce895f Mon Sep 17 00:00:00 2001 From: "Bassam (Sam) Khouri" Date: Wed, 2 Apr 2025 09:08:54 -0400 Subject: [PATCH] =?UTF-8?q?Revert=20"Revert=20"Sever=20the=20package=20dep?= =?UTF-8?q?endency=20if=20using=20SwiftBuild=20Framework"=20(=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e64232e8231c11d5bdd88fa65a38d65caccc3814, with some changes --- Package.swift | 28 +++++++++++++++------ Tests/CommandsTests/BuildCommandTests.swift | 4 --- Tests/CommandsTests/TestCommandTests.swift | 16 ------------ 3 files changed, 20 insertions(+), 28 deletions(-) diff --git a/Package.swift b/Package.swift index 216810019bc..bf0eda3bf77 100644 --- a/Package.swift +++ b/Package.swift @@ -87,6 +87,22 @@ if ProcessInfo.processInfo.environment["SWIFTCI_INSTALL_RPATH_OS"] == "android" */ let autoProducts = [swiftPMProduct, swiftPMDataModelProduct] +let shoudUseSwiftBuildFramework = (ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] != nil) + +let swiftDriverDep: [Target.Dependency] +let swiftToolsCoreSupportAutoDep: [Target.Dependency] + +if shoudUseSwiftBuildFramework { + swiftDriverDep = [] + swiftToolsCoreSupportAutoDep = [] +} else { + swiftDriverDep = [ + .product(name: "SwiftDriver", package: "swift-driver") + ] + swiftToolsCoreSupportAutoDep = [ + .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core") + ] +} let package = Package( name: "SwiftPM", platforms: [ @@ -231,9 +247,8 @@ let package = Package( .product(name: "SwiftToolchainCSQLite", package: "swift-toolchain-sqlite", condition: .when(platforms: [.windows, .android])), .product(name: "DequeModule", package: "swift-collections"), .product(name: "OrderedCollections", package: "swift-collections"), - .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), .product(name: "SystemPackage", package: "swift-system"), - ], + ] + swiftToolsCoreSupportAutoDep, exclude: ["CMakeLists.txt", "Vendor/README.md"], swiftSettings: [ .enableExperimentalFeature("StrictConcurrency"), @@ -440,10 +455,9 @@ let package = Package( "PackageGraph", "SPMBuildCore", "SPMLLBuild", - .product(name: "SwiftDriver", package: "swift-driver"), .product(name: "OrderedCollections", package: "swift-collections"), "DriverSupport", - ], + ] + swiftDriverDep, exclude: ["CMakeLists.txt"], swiftSettings: [ .unsafeFlags(["-static"]), @@ -454,8 +468,7 @@ let package = Package( dependencies: [ "Basics", "PackageModel", - .product(name: "SwiftDriver", package: "swift-driver"), - ], + ] + swiftDriverDep, exclude: ["CMakeLists.txt"], swiftSettings: [ .unsafeFlags(["-static"]), @@ -1050,8 +1063,7 @@ if ProcessInfo.processInfo.environment["ENABLE_APPLE_PRODUCT_TYPES"] == "1" { } } -if ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil && - ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil { +if !shoudUseSwiftBuildFramework { let swiftbuildsupport: Target = package.targets.first(where: { $0.name == "SwiftBuildSupport" } )! swiftbuildsupport.dependencies += [ diff --git a/Tests/CommandsTests/BuildCommandTests.swift b/Tests/CommandsTests/BuildCommandTests.swift index bead37cf431..5fb51bfb10f 100644 --- a/Tests/CommandsTests/BuildCommandTests.swift +++ b/Tests/CommandsTests/BuildCommandTests.swift @@ -932,10 +932,6 @@ class BuildCommandSwiftBuildTests: BuildCommandTestCases { } #endif - if ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] != nil { - throw XCTSkip("SWIFTPM_NO_SWBUILD_DEPENDENCY is set so skipping because SwiftPM doesn't have the swift-build capability built inside.") - } - try await super.testBuildSystemDefaultSettings() } diff --git a/Tests/CommandsTests/TestCommandTests.swift b/Tests/CommandsTests/TestCommandTests.swift index 4e27e48fc68..f0b87fff15f 100644 --- a/Tests/CommandsTests/TestCommandTests.swift +++ b/Tests/CommandsTests/TestCommandTests.swift @@ -624,22 +624,6 @@ class TestCommandSwiftBuildTests: TestCommandTestCase { try await super.testUsage() } - override func testFatalErrorDisplayedCorrectNumberOfTimesWhenSingleXCTestHasFatalErrorInBuildCompilation() async throws { - guard ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil else { - throw XCTSkip("Skipping test because SwiftBuild is not linked in.") - } - - try await super.testFatalErrorDisplayedCorrectNumberOfTimesWhenSingleXCTestHasFatalErrorInBuildCompilation() - } - - override func testListWithSkipBuildAndNoBuildArtifacts() async throws { - guard ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil else { - throw XCTSkip("Skipping test because SwiftBuild is not linked in.") - } - - try await super.testListWithSkipBuildAndNoBuildArtifacts() - } - override func testList() async throws { throw XCTSkip("SWBINTTODO: Test currently fails due to 'error: build failed'") }