首页 > 解决方案 > 注解处理器如何获取gradle扩展?

问题描述

注释处理器如何获得 gradle 扩展?

我有一个 gradle 插件和一个扩展暴露给其他人以注入属性字符串:

梯度插件:

class BoosterPlugin : Plugin<Project> {
    override fun apply(project: Project) {
        project.extensions.create("customplugin", CustomPluginExtensions::class.java)

        project.afterEvaluate {
            val extension = project.extensions.findByName("customplugin") as CustomPluginExtensions
            Logger.global.log(Level.SEVERE, "extensions = $extension")
        }
    }
}

open class CustomPluginExtensions {

    var applicationId: String = ""

    override fun toString(): String {
        return "CustomPluginExtensions(applicationId='$applicationId')"
    }
}

在 build.gradle 中,人们可以通过这种方式注入 applicationId:

build.gradle[应用程序]

...

customplugin {
    applicationId "com.example.myapplication"
}
...

但是我不知道applicationId在注释处理时如何在注释处理器中获取自定义插件。

有没有办法获得applicationIdin注解处理器?谢谢!

标签: androidgradleannotation-processing

解决方案


推荐阅读