在 Gradle 中获取依赖项的 pom

use*_*350 3 gradle

在解决 Maven 存储库的依赖关系时,Gradle 必须下载相应的 pom 文件。我想从 Gradle 脚本中访问此文件并将其保存在某处。我怎样才能做到这一点?

小智 8

查看Artifact 查询 API。这是示例代码(Groovy):

def componentIds = configurations.compileClasspath.incoming.resolutionResult.allDependencies.collect { it.selected.id }
def result = project.dependencies.createArtifactResolutionQuery()
        .forComponents(componentIds)
        .withArtifacts(MavenModule, MavenPomArtifact)
        .execute()
for (component in result.resolvedComponents) {
    component.getArtifacts(MavenPomArtifact).each { println "POM file for ${component.id}: ${it.file}" }
}
Run Code Online (Sandbox Code Playgroud)

我在 Kotlin 的插件中使用相同的 API 。