diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart index dd8468c809d..eb1015cd496 100644 --- a/packages/flutter_tools/lib/src/flutter_cache.dart +++ b/packages/flutter_tools/lib/src/flutter_cache.dart @@ -870,10 +870,13 @@ const List> _windowsUwpDesktopBinaryDirs = >[ const List> _macOSDesktopBinaryDirs = >[ ['darwin-x64', 'darwin-x64/FlutterMacOS.framework.zip'], + ['darwin-x64', 'darwin-x64/gen_snapshot.zip'], ['darwin-x64-profile', 'darwin-x64-profile/FlutterMacOS.framework.zip'], ['darwin-x64-profile', 'darwin-x64-profile/artifacts.zip'], + ['darwin-x64-profile', 'darwin-x64-profile/gen_snapshot.zip'], ['darwin-x64-release', 'darwin-x64-release/FlutterMacOS.framework.zip'], ['darwin-x64-release', 'darwin-x64-release/artifacts.zip'], + ['darwin-x64-release', 'darwin-x64-release/gen_snapshot.zip'], ]; const List> _osxBinaryDirs = >[ diff --git a/packages/flutter_tools/test/general.shard/cache_test.dart b/packages/flutter_tools/test/general.shard/cache_test.dart index 849d9398658..003f7301b0d 100644 --- a/packages/flutter_tools/test/general.shard/cache_test.dart +++ b/packages/flutter_tools/test/general.shard/cache_test.dart @@ -557,6 +557,19 @@ void main() { ]); }); + testWithoutContext('macOS desktop artifacts include all gen_snapshot binaries', () { + final Cache cache = Cache.test(processManager: FakeProcessManager.any()); + final MacOSEngineArtifacts artifacts = MacOSEngineArtifacts(cache, platform: FakePlatform()); + cache.includeAllPlatforms = false; + cache.platformOverrideArtifacts = {'macos'}; + + expect(artifacts.getBinaryDirs(), containsAll(>[ + ['darwin-x64', 'darwin-x64/gen_snapshot.zip'], + ['darwin-x64-profile', 'darwin-x64-profile/gen_snapshot.zip'], + ['darwin-x64-release', 'darwin-x64-release/gen_snapshot.zip'], + ])); + }); + testWithoutContext('macOS desktop artifacts ignore filtering when requested', () { final Cache cache = Cache.test(processManager: FakeProcessManager.any()); final MacOSEngineArtifacts artifacts = MacOSEngineArtifacts(cache, platform: FakePlatform());