From bb170569aab649e897ea4a7821fd17e0c1353e6a Mon Sep 17 00:00:00 2001 From: Michael Rawdon Date: Tue, 2 Sep 2025 17:05:53 -0700 Subject: [PATCH] Plumb the environment through to SettingsBuilderExtension.addSDKOverridingSettings(). rdar://159601154 --- Sources/SWBApplePlatform/Plugin.swift | 2 +- Sources/SWBCore/Extensions/SettingsBuilderExtension.swift | 2 +- Sources/SWBCore/Settings/Settings.swift | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Sources/SWBApplePlatform/Plugin.swift b/Sources/SWBApplePlatform/Plugin.swift index 88527fec..5606fb08 100644 --- a/Sources/SWBApplePlatform/Plugin.swift +++ b/Sources/SWBApplePlatform/Plugin.swift @@ -264,7 +264,7 @@ struct AppleSettingsBuilderExtension: SettingsBuilderExtension { } func addOverrides(fromEnvironment: [String : String], parameters: BuildParameters) throws -> [String : String] { [:] } func addProductTypeDefaults(productType: ProductTypeSpec) -> [String : String] { [:] } - func addSDKOverridingSettings(_ sdk: SDK, _ variant: SDKVariant?, _ sparseSDKs: [SDK], specLookupContext: any SWBCore.SpecLookupContext) throws -> [String : String] { [:] } + func addSDKOverridingSettings(_ sdk: SDK, _ variant: SDKVariant?, _ sparseSDKs: [SDK], specLookupContext: any SWBCore.SpecLookupContext, environment: [String: String]) throws -> [String : String] { [:] } func addPlatformSDKSettings(_ platform: SWBCore.Platform?, _ sdk: SDK, _ sdkVariant: SDKVariant?) -> [String : String] { [:] } func xcconfigOverrideData(fromParameters: BuildParameters) -> ByteString { ByteString() } func getTargetTestingSwiftPluginFlags(_ scope: MacroEvaluationScope, toolchainRegistry: ToolchainRegistry, sdkRegistry: SDKRegistry, activeRunDestination: RunDestinationInfo?, project: SWBCore.Project?) -> [String] { [] } diff --git a/Sources/SWBCore/Extensions/SettingsBuilderExtension.swift b/Sources/SWBCore/Extensions/SettingsBuilderExtension.swift index 0f1ee377..4a901cac 100644 --- a/Sources/SWBCore/Extensions/SettingsBuilderExtension.swift +++ b/Sources/SWBCore/Extensions/SettingsBuilderExtension.swift @@ -37,7 +37,7 @@ public protocol SettingsBuilderExtension { func addSDKSettings(_ sdk: SDK, _ variant: SDKVariant?, _ sparseSDKs: [SDK]) throws -> [String : String] /// Provides a table of overriding SDK settings - func addSDKOverridingSettings(_ sdk: SDK, _ variant: SDKVariant?, _ sparseSDKs: [SDK], specLookupContext: any SpecLookupContext) throws -> [String: String] + func addSDKOverridingSettings(_ sdk: SDK, _ variant: SDKVariant?, _ sparseSDKs: [SDK], specLookupContext: any SpecLookupContext, environment: [String: String]) throws -> [String: String] /// Provides a table of default platform SDK settings func addPlatformSDKSettings(_ platform: Platform?, _ sdk: SDK, _ sdkVariant: SDKVariant?) -> [String: String] diff --git a/Sources/SWBCore/Settings/Settings.swift b/Sources/SWBCore/Settings/Settings.swift index f8b784a8..a1ccf9de 100644 --- a/Sources/SWBCore/Settings/Settings.swift +++ b/Sources/SWBCore/Settings/Settings.swift @@ -1497,9 +1497,10 @@ private class SettingsBuilder { addSDKOverridingSettings(sdk, boundProperties.sdkVariant) + let environment = workspaceContext.userInfo?.buildSystemEnvironment ?? [:] for settingsExtension in core.pluginManager.extensions(of: SettingsBuilderExtensionPoint.self) { do { - let overridingSettings = try settingsExtension.addSDKOverridingSettings(sdk, boundProperties.sdkVariant, boundProperties.sparseSDKs, specLookupContext: specLookupContext) + let overridingSettings = try settingsExtension.addSDKOverridingSettings(sdk, boundProperties.sdkVariant, boundProperties.sparseSDKs, specLookupContext: specLookupContext, environment: environment) pushTable(.exported) { $0.pushContentsOf(createTableFromUserSettings(overridingSettings)) }