From 512e2c3fd593ed7635bd00c783ab8869e405ec03 Mon Sep 17 00:00:00 2001 From: Anas <65850618+Anas35@users.noreply.github.com> Date: Sat, 29 Apr 2023 05:30:08 +0530 Subject: [PATCH] fix package template create platform folders (#125292) `package` template should not create platform folders. This happen cause by default all platforms are supported and tools didn't distinguish between package and other template, which makes all platforms are true for below code, https://github.com/flutter/flutter/blob/d186792c00f61149916f685e2975300342f64749/packages/flutter_tools/lib/src/project.dart#L374-L380 fixes: #119844 which make #116320 makes invalid. As for why tools created deprecated `Android Embedding`, `appManifestFile` does not exist for `package` template, which make below code to trigger, https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/project.dart#L768-L770 This does not happen with `module` and `plugin` as it have specific condition check for them. I try to reproduce it with `app` template but didn't succeed --- packages/flutter_tools/lib/src/commands/create.dart | 8 ++++++++ .../test/commands.shard/permeable/create_test.dart | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart index 106ba35c1a..9d84e81505 100644 --- a/packages/flutter_tools/lib/src/commands/create.dart +++ b/packages/flutter_tools/lib/src/commands/create.dart @@ -267,6 +267,14 @@ class CreateCommand extends CreateBase { includeLinux = false; includeMacos = false; includeWindows = false; + } else if (template == FlutterProjectType.package) { + // The package template does not supports any platform. + includeIos = false; + includeAndroid = false; + includeWeb = false; + includeLinux = false; + includeMacos = false; + includeWindows = false; } else { includeIos = featureFlags.isIOSEnabled && platforms.contains('ios'); includeAndroid = featureFlags.isAndroidEnabled && platforms.contains('android'); diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart index 07a7f52647..ed046d7106 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -516,6 +516,7 @@ void main() { unexpectedPaths: [ 'android/app/src/main/java/com/example/flutter_project/MainActivity.java', 'android/src/main/java/com/example/flutter_project/FlutterProjectPlugin.java', + 'android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java', 'example/android/app/src/main/java/com/example/flutter_project_example/MainActivity.java', 'example/ios/Runner/AppDelegate.h', 'example/ios/Runner/AppDelegate.m', @@ -525,9 +526,18 @@ void main() { 'ios/Classes/FlutterProjectPlugin.m', 'ios/Runner/AppDelegate.h', 'ios/Runner/AppDelegate.m', + 'ios/Runner/GeneratedPluginRegistrant.h', + 'ios/Runner/GeneratedPluginRegistrant.m', 'ios/Runner/main.m', 'lib/main.dart', 'test/widget_test.dart', + 'windows/flutter/generated_plugin_registrant.cc', + 'windows/flutter/generated_plugin_registrant.h', + 'windows/flutter/generated_plugins.cmake', + 'linux/flutter/generated_plugin_registrant.cc', + 'linux/flutter/generated_plugin_registrant.h', + 'linux/flutter/generated_plugins.cmake', + 'macos/Flutter/GeneratedPluginRegistrant.swift', ], ); return _runFlutterTest(projectDir);