【发布时间】:2015-08-21 14:51:47
【问题描述】:
如何列出为项目配置的所有存储库?
背景:我有一个非常复杂的 gradle 构建脚本和 cannot get my NetBeans to download the sources 用于 maven 依赖项。在那个问题报告中,有人建议我仔细检查 mavenCentral 的导入顺序。
【问题讨论】:
如何列出为项目配置的所有存储库?
背景:我有一个非常复杂的 gradle 构建脚本和 cannot get my NetBeans to download the sources 用于 maven 依赖项。在那个问题报告中,有人建议我仔细检查 mavenCentral 的导入顺序。
【问题讨论】:
对于任何感兴趣的人,这里是列出已加载存储库的代码(感谢@kelemen):
task listrepos {
doLast {
println "Repositories:"
project.repositories.each { println "Name: " + it.name + "; url: " + it.url }
}
}
将此代码添加到构建脚本后,执行gradle listrepos 和voilà...
【讨论】:
it.credentials.username和it.credentials.password
如果有人来到此页面寻找与@Alberto 的答案等效的 Kotlin (build.gradle.kts),将按以下方式完成:
tasks.register("listrepos") {
doLast {
println("Repositories:")
project.repositories.map{it as MavenArtifactRepository}
.forEach{
println("Name: ${it.name}; url: ${it.url}")
}
}
}
提醒一下,在 Kotlin 版本中需要转换为 MavenArtifactRepository 才能获得 url 属性。如果您不添加 Maven 存储库,这对您来说可能会有所不同。
【讨论】:
尝试使用 Alberto's task from his answer 我收到以下错误,因为我定义了一个插件存储库:
No such property: url for class: org.gradle.plugin.use.internal.PluginDependencyResolutionServices$PluginArtifactRepository
为了避免这个错误,我稍微改变了任务逻辑:
task listrepos {
doLast {
println "Repositories:"
project.repositories.each {
if (it.name == '__plugin_repository__Gradle Central Plugin Repository') {
println "Name: " + it.name + "; url: " + it.url
} else {
println "Name: " + it.displayName
}
}
}
}
【讨论】: