如何列出配置的存储库?

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
            }
        }
    }
}