与“buildscript.repositories”共享 Gradle“存储库”

Jar*_*ows 4 gradle

我希望repositories我在buildscript.repositories块中指定的与依赖项repositories块的存储库相同。请看我的例子:

正常buidldscript

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:2.1.2"
    }
}

repositories {
    jcenter()
}
Run Code Online (Sandbox Code Playgroud)

我该如何做类似以下的事情?

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:2.1.2"
    }
}

repositories = buildscript.repositories
Run Code Online (Sandbox Code Playgroud)

Jar*_*ows 5

根据this question and answer,您只需先在变量中声明它:

buildscript {
    ext.myRepos = {
        maven { url "https://plugins.gradle.org/m2/" }
    }

    repositories myRepos

    dependencies {
        classpath "com.android.tools.build:gradle:2.1.2"
    }
}

repositories myRepos
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想使用该plugins { }块,但 Android gradle 插件不在 plugins.gradle.org 上。

或者

buildscript {
    configure([buildscript.repositories, project.repositories]) {
        maven { url "https://plugins.gradle.org/m2/" }
    }

    dependencies {
        classpath "com.android.tools.build:gradle:2.1.2"
    }
}
Run Code Online (Sandbox Code Playgroud)