如何使用 Gradle 插件向 android.defaultConfig 添加函数?

JJD*_*JJD 5 groovy android android-gradle-plugin gradle-plugin

我想创建一个 Gradle 插件,为Android Gradle 插件添加功能。我想添加一个getGreeting功能,android.defaultConfig例如此处概述的功能 - 但通过插件:

// build.gradle
android {
    defaultConfig {
        def getGreeting = { name ->
            return "Hello ${name}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我开始准备 Groovy 项目。现在我在这一点上:

package com.example.myexample

import com.android.build.gradle.AppPlugin
import com.android.build.gradle.LibraryPlugin
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.StopExecutionException


class MyExamplePlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {
        if (hasAndroidPlugin(project)) {
            throw new StopExecutionException(
                "Must be applied before 'android' or 'android-library' plugin.")
        }
        // def extension = project.android.extensions.create("foobar", MyExamplePlugin, project)
        // def AppPlugin androidPlugin = project.plugins.getPlugin("android")
    }

    static def hasAndroidPlugin(Project project) {
        return project.plugins.hasPlugin(AppPlugin) || 
               project.plugins.hasPlugin(LibraryPlugin)
    }

}
Run Code Online (Sandbox Code Playgroud)

由于我从未使用过 Groovy,所以我什至不知道如何调试该类。注释行可能是访问该android.defaultConfig块的一种方式。我怎样才能在那里添加一个功能?