mirror of
https://github.com/flutter/flutter
synced 2024-10-13 19:52:53 +00:00
45 lines
1.7 KiB
Groovy
45 lines
1.7 KiB
Groovy
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// This file is included from `<module>/.android/include_flutter.groovy`,
|
|
// so it can be versioned with the Flutter SDK.
|
|
|
|
import groovy.json.JsonSlurper
|
|
|
|
def moduleProjectRoot = project(':flutter').projectDir.parentFile.parentFile
|
|
|
|
// Note: if this logic is changed, also change the logic in app_plugin_loader.gradle.
|
|
def pluginsFile = new File(moduleProjectRoot, '.flutter-plugins-dependencies')
|
|
if (pluginsFile.exists()) {
|
|
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()
|
|
include ":${androidPlugin.name}"
|
|
project(":${androidPlugin.name}").projectDir = pluginDirectory
|
|
}
|
|
}
|
|
|
|
gradle.getGradle().projectsLoaded { g ->
|
|
g.rootProject.beforeEvaluate { p ->
|
|
def _mainModuleName = binding.variables['mainModuleName']
|
|
if (_mainModuleName != null && !_mainModuleName.empty) {
|
|
p.ext.mainModuleName = _mainModuleName
|
|
}
|
|
}
|
|
g.rootProject.afterEvaluate { p ->
|
|
p.subprojects { sp ->
|
|
if (sp.name != 'flutter') {
|
|
sp.evaluationDependsOn(':flutter')
|
|
}
|
|
}
|
|
}
|
|
}
|