是否可以将 gradle 存储库限制为特定配置?

Arm*_*and 4 repository gradle

我想将 gradle 存储库与我的build.gradle文件中的特定配置联系起来,例如:

repositories {
    testCompile {
        mavenCentral()
    }
    compile {
        maven { url 'https://vetted-repo.example.com' }
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法从 gradle 文档中找到执行此操作的简单方法。我需要编写自己的插件吗?

Adr*_*ker 5

从 Gradle 5.1 开始,这是可能的,从发行说明来看:

现在可以将存储库与依赖项相匹配,这样,如果永远不会在存储库中找到依赖项,Gradle 就不会在存储库中搜索依赖项。

例子:

repositories {
  maven {
    url "https://repo.mycompany.com"
    content {
      includeGroupByRegex "com\\.mycompany.*"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

对于将存储库限制为特定配置(例如 )的特定要求compile,您可以使用以下onlyForConfigurations属性:

repositories {
  maven { 
    url "https://vetted-repo.example.com"
    content {
      onlyForConfigurations "compile"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)