From 8d342076626d3d8dc3320d79e8e50e8d9a9e0f83 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Wed, 30 Jul 2025 21:33:53 -0700 Subject: [PATCH] Upstream trivial diffs withSerializationContext needs to be exposed to tests, and BuildService.run needs to build and do so without warnings regardless of whether USE_STATIC_PLUGIN_INITIALIZATION is set. EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES's DefaultValue was duplicated in an incorrect merge conflict resolution. STRING_CATALOG_GENERATE_SYMBOLS was missing from the CoreBuildSystem xcspec. --- Sources/SWBBuildService/BuildServiceEntryPoint.swift | 2 +- Sources/SWBCore/Specs/CoreBuildSystem.xcspec | 8 +++++++- Sources/SWBTaskExecution/BuildDescription.swift | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/SWBBuildService/BuildServiceEntryPoint.swift b/Sources/SWBBuildService/BuildServiceEntryPoint.swift index 1a66fff2..6614cf42 100644 --- a/Sources/SWBBuildService/BuildServiceEntryPoint.swift +++ b/Sources/SWBBuildService/BuildServiceEntryPoint.swift @@ -95,7 +95,7 @@ extension BuildService { /// /// Called directly from the exported C entry point `swiftbuildServiceEntryPoint` for in-process connections, or from `BuildService.main()` (after some basic file descriptor setup) for out-of-process connections. fileprivate static func run(inputFD: FileDescriptor, outputFD: FileDescriptor, connectionMode: ServiceHostConnectionMode, pluginsDirectory: URL?, arguments: [String], pluginLoadingFinished: () throws -> Void) async throws { - let pluginManager = await { @PluginExtensionSystemActor in + let pluginManager = try await { @PluginExtensionSystemActor () async throws in // Create the plugin manager and load plugins. let pluginManager = PluginManager(skipLoadingPluginIdentifiers: []) diff --git a/Sources/SWBCore/Specs/CoreBuildSystem.xcspec b/Sources/SWBCore/Specs/CoreBuildSystem.xcspec index f71e8276..467e061b 100644 --- a/Sources/SWBCore/Specs/CoreBuildSystem.xcspec +++ b/Sources/SWBCore/Specs/CoreBuildSystem.xcspec @@ -1195,7 +1195,6 @@ When `GENERATE_INFOPLIST_FILE` is enabled, sets the value of the [CFBundleIdenti Type = StringList; Category = "Search Paths"; DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj"; - DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj"; }, { Name = "VERSIONING_SYSTEM"; @@ -3652,6 +3651,13 @@ When this setting is enabled: Category = "Localization"; Description = "When enabled, string tables generated in a localization export will prefer the String Catalog format."; }, + { Name = STRING_CATALOG_GENERATE_SYMBOLS; + Type = Boolean; + DefaultValue = NO; + DisplayName = "Generate String Catalog Symbols"; + Category = "Localization"; + Description = "When enabled, symbols will be generated for manually-managed strings in String Catalogs."; + }, // rdar://108915072 (Move Siri Category and relevant configs out of CoreBuildSystem) // Siri Settings diff --git a/Sources/SWBTaskExecution/BuildDescription.swift b/Sources/SWBTaskExecution/BuildDescription.swift index 632a40d8..53aae732 100644 --- a/Sources/SWBTaskExecution/BuildDescription.swift +++ b/Sources/SWBTaskExecution/BuildDescription.swift @@ -1398,7 +1398,7 @@ package final class TaskActionRegistry: Sendable { implementations = try TaskActionExtensionPoint.taskActionImplementations(pluginManager: pluginManager) } - func withSerializationContext(_ block: () throws -> T) rethrows -> T { + @_spi(Testing) public func withSerializationContext(_ block: () throws -> T) rethrows -> T { try TaskAction.$taskActionImplementations.withValue(implementations) { try block() }