不支持将buildScript块的部分外部化为其他脚本。有一个公开的缺陷,你应该对此进行投票。
在外部脚本common/buildversion.gradle中,我有:
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
在常用/存储库中。渐变:
repositories{
maven { url "https://plugins.gradle.org/m2/" }
}
我收到错误:
无法解析外部依赖项sonarqube gradle插件,因为没有存储库定义
这里有一种为存储库定义提供单一来源的方法。
-
将存储库声明为"ext"变量
// repositories.gradle ext.repos = { maven { name "repo1" url "repo1_url" } maven { name "repo2" url "repo2_url" } }
-
在你的建筑中"应用".gradle
// build.gradle apply from: "${project.projectDir}/repositories.gradle"
-
在存储库声明中使用变量
// build.gradle repositories repos