gpt4 book ai didi

gradle - 如何在Gradle构建脚本中解析依赖项扩展

转载 作者:行者123 更新时间:2023-12-03 03:52:08 26 4
gpt4 key购买 nike

我在maven-publish中使用了build.gradle插件。对于每个compile依赖项,groupnameversion用于在生成的pom.xml文件中生成适当的标签-可以正常工作。

这是我有的示例依赖项:

dependencies {
compile (
[group: 'com.actionbarsherlock', name: 'actionbarsherlock', version: '4.4.0', ext: 'aar'],
[group: 'com.android.support', name: 'support-v4', version: '19.0.+']
)}

这是我拥有的发布元素:
publishing {
publications {
// A publication named 'mavenAndroid'
mavenPublishLibrary(MavenPublication) {
// Artifact using the aar from the build output
artifact "${project.projectDir}/build/outputs/aar/${project.name}-${project.version}.aar"

// Generate dependencies manually for POM
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')

//Iterate over the compile dependencies, adding a <dependency> node for each
configurations.compile.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)

// This is what I'd want to do...
if (it.ext != '') {
dependencyNode.appendNode('type', it.ext)
}
// ...but this doesn't work!
}
}
}
}
}

我希望能够将 ext值(例如 aar)与 pom.xmlgroupname一起添加到 version中,就像上面片段中的内容一样。

最佳答案

当我奋斗了几个小时后,我会问这些问题,然后我似乎总是在问完之后很快就回答自己!

我使用以下代码获取依赖项扩展,替换了问题中的if():

it.getArtifacts().each {
dependencyNode.appendNode('type', it.getExtension())
}

关于gradle - 如何在Gradle构建脚本中解析依赖项扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25381160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com