在gradle中使用“应用自”在单独的文件中添加依赖项和插件

时间:2018-06-28 11:27:56

标签: gradle gradle-plugin

我在应用目录中的build.gradle包含:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
    repositories {
        mavenCentral();
        jcenter()
    }
}
def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
    apply from: 'build-extras.gradle'
}

这是我的build-extras.gradle文件:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {
        classpath 'com.github.triplet.gradle:play-publisher:1.2.2'
    }
}

apply plugin: 'com.github.triplet.play'

我是否正确假设build-extras.gradle应该“合并”在原始文件中?无论如何移动,我都会得到Error:Plugin with id 'com.github.triplet.play' not found. 如果我将classpath 'com.github.triplet.gradle:play-publisher:1.2.2'移至主文件并仅将apply plugin: 'com.github.triplet.play'留在build-extras.gradle内,则它似乎可以正常工作。那么我会错误地定义依赖项吗?

1 个答案:

答案 0 :(得分:0)

build.gradle文件只能包含一个error块。您对段落的解释是正确的。将插件依赖项添加到buildscript中主构建文件的dependencies块中,然后使用所需的任何逻辑有条件地应用插件。