android - 将 POM 文件发布到 Artifactory 时,配置 getByName 在 gradle 中不起作用

标签 android build.gradle artifactory

我在 build.gradle 文件中使用发布部分将 Android 库发布到 Artifactory:

publishing {
  publications {
    aar(MavenPublication) {
        groupId packageName
        version = libraryVersion
        artifactId project.getName()

        // Tell maven to prepare the generated "*.aar" file for publishing
        artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")

        pom.withXml {
                def dependencies = asNode().appendNode('dependencies')
                configurations.getByName("_releaseCompile").getResolvedConfiguration().getFirstLevelModuleDependencies().each {
                    def dependency = dependencies.appendNode('dependency')
                    dependency.appendNode('groupId', it.moduleGroup)
                    dependency.appendNode('artifactId', it.moduleName)
                    dependency.appendNode('version', it.moduleVersion)
                }
            }
        }
    }
}

失败并出现以下错误:

Execution failed for task ':smartcardsdk:generatePomFileForAarPublication'.
> Could not apply withXml() to generated POM
> Configuration with name '_releaseCompile' not found.

这不是 Android v2.x 的问题。当我升级到 Android Studio v3(我猜 Gradle v3.0.0 也是)时,问题开始了。

我猜测配置不再以 _releaseCompile 名称存储。

有谁知道新的“名字”应该是什么?

谢谢。

最佳答案

刚刚想通了。您必须将其更改为:

"releaseCompileClasspath"

关于android - 将 POM 文件发布到 Artifactory 时,配置 getByName 在 gradle 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096261/

相关文章:

docker - 如何从 Cloud Foundry 上的私有(private)存储库部署 Docker 镜像?

maven - 如何使用 Maven 修改 POM 文件的设置以支持 Artifactory 上的访问 token

android - 如何找出针对 Strictmode 策略违规采取的措施

java - LayoutInflater wordSpan

android - cvc-complex-type.2.4.a : Invalid content was found starting with element 'base-extension' . 预期为 '{layoutlib}' 之一

java - 具有相关配置的多级 Gradle 项目

android - 使用 gradle 构建系统创建测试 Android apk

jenkins - Jenkins Artifactory插件未使用Gradle发布 Artifactory

android - 带有 Gridlayout 的 Cardview 产生意外行为

android - 9-patch 图像看起来像素化