编写自定义Gradle插件时,如何在使用build.gradle中访问每个buildtype / flavor定义的扩展属性?
我有以下扩展类 -
TestExtension {
String name;
String address;
// getters and setters
};
此gradle插件的使用者将使用闭包填充属性,如下所示 -
// default
Test {
address = "default address"
}
android {
buildTypes {
release {
Test {
name = "release-mode"
}
}
}
debug {
Test {
name = "debug-mode"
}
}
}
}
在gradle插件中,我为每个构建类型创建并运行单独的任务。如何在运行特定任务时访问正确的属性?例如,我在运行releasetask时从未获得正确的name
属性。它始终设置为" debug-mode"。
任何帮助表示赞赏!
答案 0 :(得分:1)
在apply(Project project){}
内 - 自定义Gradle-Plugin的方法(用Groovy编写):
project.android.applicationVariants.all{ variant ->
//do your variant specific code here
}