Unverified Commit 947b48e0 authored by Igor Akkerman's avatar Igor Akkerman Committed by GitHub

flutter.gradle: collect list of Android plugins from .flutter-plugins-dependencies (#59294)

parent e85655c4
...@@ -372,17 +372,27 @@ class FlutterPlugin implements Plugin<Project> { ...@@ -372,17 +372,27 @@ class FlutterPlugin implements Plugin<Project> {
} }
private Properties getPluginList() { private Properties getPluginList() {
File pluginsFile = new File(project.projectDir.parentFile.parentFile, '.flutter-plugins')
Properties allPlugins = readPropertiesIfExist(pluginsFile)
Properties androidPlugins = new Properties() Properties androidPlugins = new Properties()
allPlugins.each { name, path ->
if (doesSupportAndroidPlatform(path)) { def flutterProjectRoot = project.projectDir.parentFile.parentFile
androidPlugins.setProperty(name, path) def pluginsFile = new File(flutterProjectRoot, '.flutter-plugins-dependencies')
if (!pluginsFile.exists()) {
return androidPlugins
} }
// 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. def object = new JsonSlurper().parseText(pluginsFile.text)
// https://github.com/flutter/flutter/issues/40784 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 return androidPlugins
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment