我最终必须在我的build.gradle
文件中定义我的maven存储库。定义通常非常麻烦:
repositories {
jcenter()
maven {
url "https://mymavenurl/releases"
credentials(Credentials) {
username USERNAME
password PASSWORD
}
}
}
请注意上面gradle如何提供一种定义常用maven存储库的好方法(即jcenter()
)。我想在插件或父gradle脚本中使用一种方法来定义函数中的存储库,或者静态地定义存储库,然后在repositories
块中调用它:myMavenRepo()
。
我对groovy的了解很少,所以我不太理解我需要解析我所看到的常常来源,找到一个很好的方法来做到这一点。我该怎么做?
我知道在父级gradle文件中,我可以使用allProjects
或subProjects
。我不想将这些maven存储库添加到所有模块,而只是添加特定模块。
答案 0 :(得分:5)
尝试这样的事情:
repositories.ext.myRepo = {
repositories.maven {
url "https://mymavenurl/releases"
credentials() {
username USERNAME
password PASSWORD
}
}
}
然后你应该可以打电话:
repositories {
mavenCentral()
myRepo()
}
对于buildscript存储库也可以实现相同的目的:
buildscript.repositories.ext.myRepo = {
buildscript.repositories.maven {
url "https://mymavenurl/releases"
credentials() {
username USERNAME
password PASSWORD
}
}
}
答案 1 :(得分:2)
如果您在所有项目中使用这些存储库,则可以在initialization script中定义它们。只需创建一个包含
的文件$HOME/.gradle/init.gradle
即可
allprojects {
repositories {
jcenter()
maven {
url "https://mymavenurl/releases"
credentials(Credentials) {
username USERNAME
password PASSWORD
}
}
}
}