这是使用 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 远程提供服务,而不是从 jcenter
或 Google Maven 存储库,因为这些被敌对的工作场所代理阻止。
但是,artifactory
Gradle 插件似乎仅在应用 buildscript
闭包后才可用。如何获取 Artifactory 提供的其他 buildscript
依赖项?
最佳答案
您可以创建简单的 Maven 远程存储库来服务 buildscript
依赖项。由于这些远程存储库只是镜像公共(public)存储库,因此您可以进行匿名访问。这意味着在执行 buildscript
闭包时,无需配置 artifactory_user
和 artifactory_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 存储库的远程存储库的名称(存储库 key )。
至于为 Google Maven 存储库本身配置 Artifactory 远程,地址很简单,如下图所示:maven.google.com
:
关于gradle - 是否可以使用 Artifactory 提供顶级构建脚本依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47625541/