Gradle:如何在外部脚本的buildscript块中配置存储库
在外部脚本common/buildversion.gradle中,我有:Gradle:如何在外部脚本的buildscript块中配置存储库,gradle,Gradle,在外部脚本common/buildversion.gradle中,我有: buildscript { // Copy repositories definitions from this buildscript to all projects (allprojects*.repositories + [repositories]).each { it.configure { apply from: rootProject.file('../.
buildscript {
// Copy repositories definitions from this buildscript to all projects
(allprojects*.repositories + [repositories]).each {
it.configure {
apply from: rootProject.file('../../common/repositories.gradle')
}
}
dependencies { classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:1.2" }
}
apply plugin: org.sonarqube.gradle.SonarQubePlugin
在common/repositories.gradle中:
repositories{
maven { url "https://plugins.gradle.org/m2/" }
}
我得到一个错误:
无法解析外部依赖关系
sonarqube gradle插件,因为没有存储库
定义
不支持将buildScript块的部分外部化到其他脚本中。有一种方法,您应该对此进行投票。这里有一种方法可以为存储库定义提供一个单一的源
// repositories.gradle
ext.repos = {
maven {
name "repo1"
url "repo1_url"
}
maven {
name "repo2"
url "repo2_url"
}
}
// build.gradle
apply from: "${project.projectDir}/repositories.gradle"
// build.gradle
repositories repos
存储库定义必须位于单独的文件中。抱歉,遗漏了该文件。我相信你的要求目前是不可能的。更新答案。实际上有一种方法可以做到这一点。请参阅我的答案:BuildScript部分对我不起作用:无法获取类型为org.gradle.api.internal.initialization.DefaultScriptHandler的对象的未知属性“repo”是否从外部文件“应用”repo配置?将build.gradle上传到github.com gust,我会查看。