Gradle 是否可以使用Artifactory为顶级buildscript依赖项提供服务?

Gradle 是否可以使用Artifactory为顶级buildscript依赖项提供服务?,gradle,android-gradle-plugin,artifactory,Gradle,Android Gradle Plugin,Artifactory,下面是一个使用Artifactory配置的顶级build.gradle示例: buildscript { repositories { jcenter() google() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:x.x.x" classpath 'com.android.tools.build:g

下面是一个使用Artifactory配置的顶级
build.gradle
示例:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:x.x.x"
        classpath 'com.android.tools.build:gradle:x.x.x'
    }
}
allprojects {
    apply plugin: 'com.jfrog.artifactory'
}
artifactory {
    contextUrl = "${artifactory_contextUrl}"
    //... standard artifactory plugin auto-generated from web interface
}
我希望
com.android.tools.build:gradle:x.x.x
并从Artifactory remote提供服务,而不是从
jcenter
或Google Maven存储库提供服务,因为它们被敌对的workplace代理阻止


然而,
artifactory
Gradle插件似乎只有在应用了
buildscript
闭包之后才可用。如何从Artifactory获取要提供的其他
buildscript
依赖项

您可以创建简单的Maven远程存储库来服务
buildscript
依赖项。由于这些远程存储库只是镜像公共存储库,因此可以使访问匿名。这意味着在执行
buildscript
闭包时,不需要配置
artifactory\u user
artifactory\u contextUrl

示例
build.gradle
如下所示:

buildscript {
    repositories {
        maven {
            url "http:///example.com:8082/artifactory/list/jcenter/"
        }
        maven {
            url "http://example.com:8082/artifactory/list/google-remote/"
        }
    }
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:x.x.x"
        classpath 'com.android.tools.build:gradle:x.x.x'
    }
}
其中
google remote
是镜像您自己配置的google Maven存储库的远程存储库的名称(存储库密钥)

至于为Google Maven存储库本身配置Artifactory remote,地址仅为
Maven.Google.com
,如下图所示: