如何列出配置的存储库?
How to list the configured repositories?
如何列出为项目配置的所有存储库?
背景:我有一个非常复杂的 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
瞧瞧...
如果有人来到此页面寻找与@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 我收到以下错误,因为在我的情况下我定义了一个插件存储库:
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
}
}
}
}
如何列出为项目配置的所有存储库?
背景:我有一个非常复杂的 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
瞧瞧...
如果有人来到此页面寻找与@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
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
}
}
}
}