From d71fe92ec4b17b7d5bfdff1f44658f9c4a99fcc2 Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Fri, 10 Nov 2023 14:14:32 -0800 Subject: [PATCH] [macOS] Suppress Xcode 15 createItemModels warning (#138243) As of Xcode 15 on macOS Sonoma, the following message is (repeatedly) output to stderr during builds (repros on non-Flutter apps). It is supppressed in xcode itself, but not when run from the command-line. ``` 2023-11-10 10:44:58.031 xcodebuild[61115:1017566] [MT] DVTAssertions: Warning in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot11/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-22267/IDEFoundation/Provisioning/Capabilities Infrastructure/IDECapabilityQuerySelection.swift:103 Details: createItemModels creation requirements should not create capability item model for a capability item model that already exists. Function: createItemModels(for:itemModelSource:) Thread: <_NSMainThread: 0x6000027c0280>{number = 1, name = main} Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide. ``` This suppresses this message from stderr in our macOS build logs. Issue: https://github.com/flutter/flutter/issues/135277 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat --- .../lib/src/macos/build_macos.dart | 20 ++++++++++++++++++- .../hermetic/build_macos_test.dart | 9 +++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/flutter_tools/lib/src/macos/build_macos.dart b/packages/flutter_tools/lib/src/macos/build_macos.dart index 45cee33946..185434644a 100644 --- a/packages/flutter_tools/lib/src/macos/build_macos.dart +++ b/packages/flutter_tools/lib/src/macos/build_macos.dart @@ -27,9 +27,27 @@ import 'migrations/remove_macos_framework_link_and_embedding_migration.dart'; /// Filter out xcodebuild logging unrelated to macOS builds: /// ``` /// xcodebuild[2096:1927385] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore +/// /// note: Using new build system +/// +/// xcodebuild[61115:1017566] [MT] DVTAssertions: Warning in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot11/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-22267/IDEFoundation/Provisioning/Capabilities Infrastructure/IDECapabilityQuerySelection.swift:103 +/// Details: createItemModels creation requirements should not create capability item model for a capability item model that already exists. +/// Function: createItemModels(for:itemModelSource:) +/// Thread: <_NSMainThread: 0x6000027c0280>{number = 1, name = main} +/// Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide. + /// ``` -final RegExp _filteredOutput = RegExp(r'^((?!Requested but did not find extension point with identifier|note\:).)*$'); +final RegExp _filteredOutput = RegExp( + r'^((?!' + r'Requested but did not find extension point with identifier|' + r'note\:|' + r'\[MT\] DVTAssertions: Warning in /System/Volumes/Data/SWE/|' + r'Details\: createItemModels|' + r'Function\: createItemModels|' + r'Thread\: <_NSMainThread\:|' + r'Please file a bug at https\://feedbackassistant\.apple\.' + r').)*$' + ); /// Builds the macOS project through xcodebuild. // TODO(zanderso): refactor to share code with the existing iOS code. diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart index 1d64336905..172b75f272 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart @@ -134,6 +134,11 @@ note: Building targets in dependency order stderr: ''' 2022-03-24 10:07:21.954 xcodebuild[2096:1927385] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore 2022-03-24 10:07:21.954 xcodebuild[2096:1927385] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore +2023-11-10 10:44:58.030 xcodebuild[61115:1017566] [MT] DVTAssertions: Warning in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot11/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-22267/IDEFoundation/Provisioning/Capabilities Infrastructure/IDECapabilityQuerySelection.swift:103 +Details: createItemModels creation requirements should not create capability item model for a capability item model that already exists. +Function: createItemModels(for:itemModelSource:) +Thread: <_NSMainThread: 0x6000027c0280>{number = 1, name = main} +Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide. STDERR STUFF ''', onRun: () { @@ -267,6 +272,10 @@ STDERR STUFF expect(testLogger.errorText, isNot(contains('xcodebuild[2096:1927385]'))); expect(testLogger.errorText, isNot(contains('Using new build system'))); expect(testLogger.errorText, isNot(contains('Building targets in dependency order'))); + expect(testLogger.errorText, isNot(contains('DVTAssertions: Warning in'))); + expect(testLogger.errorText, isNot(contains('createItemModels'))); + expect(testLogger.errorText, isNot(contains('_NSMainThread:'))); + expect(testLogger.errorText, isNot(contains('Please file a bug at https://feedbackassistant'))); }, overrides: { FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.list([