diff --git a/Package.swift b/Package.swift index 7fad46c0..7909805f 100644 --- a/Package.swift +++ b/Package.swift @@ -4,10 +4,16 @@ import Foundation import PackageDescription /// Swift settings that should be applied to every Swift target. -let globalSwiftSettings: [SwiftSetting] = [ - .enableUpcomingFeature("InternalImportsByDefault"), - .enableUpcomingFeature("MemberImportVisibility"), -] +var globalSwiftSettings: [SwiftSetting] { + var result: [SwiftSetting] = [ + .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + ] + if noSwiftPMDependency { + result += [.define("NO_SWIFTPM_DEPENDENCY")] + } + return result +} var products: [Product] = [ .executable(name: "sourcekit-lsp", targets: ["sourcekit-lsp"]), diff --git a/Sources/BuildSystemIntegration/BuildSystemManager.swift b/Sources/BuildSystemIntegration/BuildSystemManager.swift index 65c8a063..1c44ee5e 100644 --- a/Sources/BuildSystemIntegration/BuildSystemManager.swift +++ b/Sources/BuildSystemIntegration/BuildSystemManager.swift @@ -217,7 +217,7 @@ private extension BuildSystemSpec { ) } case .swiftPM: - #if canImport(PackageModel) + #if !NO_SWIFTPM_DEPENDENCY return await createBuiltInBuildSystemAdapter( messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler, buildSystemHooks: buildSystemHooks diff --git a/Sources/BuildSystemIntegration/DetermineBuildSystem.swift b/Sources/BuildSystemIntegration/DetermineBuildSystem.swift index 0477cab6..9511ce7d 100644 --- a/Sources/BuildSystemIntegration/DetermineBuildSystem.swift +++ b/Sources/BuildSystemIntegration/DetermineBuildSystem.swift @@ -103,7 +103,7 @@ package func determineBuildSystem( case .compilationDatabase: spec = searchForCompilationDatabaseConfig(in: workspaceFolderUrl, options: options) case .swiftPM: - #if canImport(PackageModel) + #if !NO_SWIFTPM_DEPENDENCY spec = SwiftPMBuildSystem.searchForConfig(in: workspaceFolderUrl, options: options) #endif } diff --git a/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift b/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift index b8407ab1..7d8f6dd1 100644 --- a/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift +++ b/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#if canImport(PackageModel) +#if !NO_SWIFTPM_DEPENDENCY import Basics @preconcurrency import Build import Dispatch diff --git a/Sources/SourceKitLSP/Swift/CodeActions/PackageManifestEdits.swift b/Sources/SourceKitLSP/Swift/CodeActions/PackageManifestEdits.swift index 6e6419cf..ab2af9ec 100644 --- a/Sources/SourceKitLSP/Swift/CodeActions/PackageManifestEdits.swift +++ b/Sources/SourceKitLSP/Swift/CodeActions/PackageManifestEdits.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#if canImport(PackageModel) +#if !NO_SWIFTPM_DEPENDENCY import Foundation import LanguageServerProtocol diff --git a/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActions.swift b/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActions.swift index d8424725..ba163113 100644 --- a/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActions.swift +++ b/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActions.swift @@ -26,7 +26,7 @@ let allSyntaxCodeActions: [SyntaxCodeActionProvider.Type] = { OpaqueParameterToGeneric.self, RemoveSeparatorsFromIntegerLiteral.self, ] - #if canImport(PackageModel) + #if !NO_SWIFTPM_DEPENDENCY result.append(PackageManifestEdits.self) #endif return result diff --git a/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift b/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift index 205b8705..1572ebf3 100644 --- a/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift +++ b/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#if canImport(PackageModel) +#if !NO_SWIFTPM_DEPENDENCY import BuildServerProtocol @_spi(Testing) import BuildSystemIntegration import LanguageServerProtocol