diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle index 0087dc8b422..202e37b7ca5 100644 --- a/packages/flutter_tools/gradle/flutter.gradle +++ b/packages/flutter_tools/gradle/flutter.gradle @@ -372,28 +372,17 @@ class FlutterPlugin implements Plugin { } private Properties getPluginList() { - + File pluginsFile = new File(project.projectDir.parentFile.parentFile, '.flutter-plugins') + Properties allPlugins = readPropertiesIfExist(pluginsFile) Properties androidPlugins = new Properties() - - def flutterProjectRoot = project.projectDir.parentFile.parentFile - def pluginsFile = new File(flutterProjectRoot, '.flutter-plugins-dependencies') - if (!pluginsFile.exists()) { - return androidPlugins + allPlugins.each { name, path -> + if (doesSupportAndroidPlatform(path)) { + androidPlugins.setProperty(name, path) + } + // TODO(amirh): log an error if this plugin was specified to be an Android + // plugin according to the new schema, and was missing a build.gradle file. + // https://github.com/flutter/flutter/issues/40784 } - - def object = new JsonSlurper().parseText(pluginsFile.text) - assert object instanceof Map - assert object.plugins instanceof Map - assert object.plugins.android instanceof List - // Includes the Flutter plugins that support the Android platform. - object.plugins.android.each { androidPlugin -> - assert androidPlugin.name instanceof String - assert androidPlugin.path instanceof String - def pluginDirectory = new File(androidPlugin.path, 'android') - assert pluginDirectory.exists() - androidPlugins.setProperty(androidPlugin.name, androidPlugin.path) - } - return androidPlugins }