在自定义gradle插件中处理每个buildtype/flavor配置

在自定义gradle插件中处理每个buildtype/flavor配置,gradle,android-gradle-plugin,build.gradle,Gradle,Android Gradle Plugin,Build.gradle,在编写自定义Gradle插件时,如何访问消费build.Gradle中按buildtype/flavor定义的扩展属性 我有以下扩展类- TestExtension { String name; String address; // getters and setters }; 此gradle插件的使用者将使用闭包填充属性,如下所示- // default Test { address = "default address" } android

在编写自定义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
属性。它总是设置为“调试模式”。 感谢您的帮助

在自定义Gradle插件(用Groovy编写)的
apply(Project){}
-方法中:

project.android.applicationVariants.all{ variant ->
    //do your variant specific code here
}