Gradle - 在 buildscript 依赖项中添加条件类路径 [英] Gradle - Add conditional classpath in buildscript dependencies

查看:41
本文介绍了Gradle - 在 buildscript 依赖项中添加条件类路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经更新到 Android Studio 2.2,它默认使用 Gradle 插件 v2.2.0,并且更适合调试.出于分发目的,我仍然必须使用 v2.1.3.我想在项目 gradle 脚本中添加一个条件命令,但我不知道该怎么做.以下测试有效

I have updated to Android Studio 2.2, which uses by default the Gradle Plugin v2.2.0, and is much better for debugging purposes. For disribution purposes, I must still use v2.1.3. I was thinking of adding a conditional command in the project gradle script, but I am not sure how to do it. The following test works

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (project.name.startsWith("X"))
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
    }
}

但我需要它像

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (IS_RELEASE_VERSION)
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
    }
}

我不知道该怎么做.提前致谢

and I cannot figure out how to do it. Thanks in advance

推荐答案

好吧,我相信我解决了,而且很简单.您需要检查 gradle.startParameter.taskNames 属性.这是我的编码方式:

Well, I believe I solved it, and it is very simple. You need to check the gradle.startParameter.taskNames property. Here is how I coded it:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (gradle.startParameter.taskNames.size() > 0 && gradle.startParameter.taskNames.get(0).contains("Release"))
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

到目前为止它工作正常.如果您愿意,可以将发布"值更改为风味变体(如果您使用的是风味).

So far it is working fine. If you prefer, you can change the "Release" value, to a flavor variant (if you are using flavors).

这篇关于Gradle - 在 buildscript 依赖项中添加条件类路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆