2
在解析Maven-repository中的依賴項時,Gradle必須下載相應的pom文件。我想從Gradle腳本中訪問此文件並將其保存在某處。我怎樣才能做到這一點?爲Gradle中的依賴項獲取pom
在解析Maven-repository中的依賴項時,Gradle必須下載相應的pom文件。我想從Gradle腳本中訪問此文件並將其保存在某處。我怎樣才能做到這一點?爲Gradle中的依賴項獲取pom
您可以簡單地聲明POM本身的依賴關係。
configurations {
pom
}
dependencies {
pom 'org.foo:some-lib:[email protected]'
}
task copyPom(type: Copy) {
into "${buildDir}/poms"
from configurations.pom
}
看看Artifact Query API。下面是示例代碼(Groovy中):
def componentIds = configuration.compile.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}" }
}
我使用的是相同的API中my plugin in Kotlin。
謝謝,但我實際上想從現有的poms中獲得依賴關係,而不是用手重構它們。不過,我發現了一個與原始問題完全不同的解決方案。 – user2615350 2014-10-09 07:53:30
您是否找到解決方案? – Cleankod 2017-05-24 07:13:34