Gradle插件之判断环境环境变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010479969/article/details/77882094

背景:在设计插件化开发的时候,涉及到插件和宿主同时编译,但不想依赖dependency属性来维护顺序,而是通过执行顺序来保证,

但是遇到一个问题就是当配置了

org.gradle.parallel
属性之后,就变成平行编译,同时进行谁先谁后就没有办法保证了,所以不允许设置这个属性,
但是有几十个产品线,不可能我每个团队都通知一声,而且还有新同事,一旦出现问题,不清楚的情况,可能耗费大家的一些时间才能找到原因,甚至会觉得插件化工具不好用,

所以我需要在gradle插件中增加判断,所以我们需要增加环境检查,

一开始还在纠结这种gradle的属性配置在哪里拿,后来查看
gradle properties的时候,发现这个属性就在properties里
所以我们直接使用

@Override
protected void setupEnvironment(){
    def sp = project.gradle.startParameter
    def t = sp.taskNames[0]
    if (t.equals("assembleDebug")) {
        if(project.getRootProject().hasProperty("org.gradle.parallel")){
            throw new RuntimeException("assembleDebug can not configuration the properties of :org.gradle.parallel,plz remove it,can not set to false too")
        }
    }
}
就可以保证在debug编译的时候,都会检测

猜你喜欢

转载自blog.csdn.net/u010479969/article/details/77882094