Gradle - 在buildscript依赖项中添加条件类路径 [英] Gradle - Add conditional classpath in buildscript dependencies
问题描述
我已更新到Android Studio 2.2,默认情况下使用Gradle Plugin v2.2.0,对于调试目的更好。为了解决问题,我仍然必须使用v2.1.3。我正在考虑在项目gradle脚本中添加一个条件命令,但我不知道如何去做。
以下测试工作
buildscript {
存储库{
jcenter()
)
依赖关系{
if(project.name.startsWith(X))
{
classpath'com.android.tools.build:gradle:2.1.3'
}
else
{
classpath'com.android.tools.build:gradle:2.2.0'
}
}
}
但我需要它是类似于
< pre $
buildscript {
repositories {
jcenter()
}
依赖关系{
if(IS_RELEASE_VERSION)
{
classpath'com.android.tools.build:gradle:2.1.3'
}
else
{
classpath'com.android.tools.build:gradle :2.2.0'
}
}
}
和我无法弄清楚如何去做。
在此先感谢
嗯,我相信我解决了它,而且非常简单。您需要检查 gradle.startParameter.taskNames
属性。这是我编码的方式:
buildscript {
repositories {
jcenter()
}
依赖{
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'
}
}
到目前为止它工作正常。如果您愿意,可以将发布值更改为风味变体(如果您使用风味)。
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'
}
}
}
But I need it to be something like
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
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屋!