| // 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. |
| |
| apply<FlutterPluginKts>() |
| |
| class FlutterPluginKts : Plugin<Project> { |
| override fun apply(project: Project) { |
| // Use withGroovyBuilder and getProperty() to access Groovy metaprogramming. |
| project.withGroovyBuilder { |
| getProperty("android").withGroovyBuilder { |
| getProperty("defaultConfig").withGroovyBuilder { |
| if (project.hasProperty("multidex-enabled") && |
| project.property("multidex-enabled").toString().toBoolean()) { |
| setProperty("multiDexEnabled", true) |
| getProperty("manifestPlaceholders").withGroovyBuilder { |
| setProperty("applicationName", "io.flutter.app.FlutterMultiDexApplication") |
| } |
| } else { |
| var baseApplicationName: String = "android.app.Application" |
| if (project.hasProperty("base-application-name")) { |
| baseApplicationName = project.property("base-application-name").toString() |
| } |
| // Setting to android.app.Application is the same as omitting the attribute. |
| getProperty("manifestPlaceholders").withGroovyBuilder { |
| setProperty("applicationName", baseApplicationName) |
| } |
| } |
| } |
| } |
| } |
| } |
| } |