2016-07-25 99 views
3

编写定制Gradle插件时,如何访问在构建消费build.gradle中为每个构建类型/风格定义的扩展属性?在定制gradle插件中处理每个构建类型/风格配置

我有以下的扩展类 -

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属性。它始终设置为“调试模式”。 任何帮助表示赞赏!

回答

1

您的自定义摇篮 - 插件(Groovy编写)的apply(Project project){} - 方法里面:

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