在自定义Gradle插件中处理每个构建类型/Flavor配置

3

当编写自定义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插件中,我为每个构建类型创建并运行单独的任务。当运行特定任务时,如何访问正确的属性?例如,在运行Release任务时,我永远无法获得正确的“name”属性,它总是设置为“debug-mode”。感谢任何帮助!
1个回答

1
在您编写的Groovy自定义Gradle插件的apply(Project project){}方法内部:
project.android.applicationVariants.all{ variant ->
    //do your variant specific code here
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接