android - Maven-Publish 不在 POM 中发布 API/实现依赖

标签 android gradle maven-publish

我在 gradle 中使用 maven-publish 插件来发布 Artifact 。我需要生成一个包含依赖项的 POM 文件,以便我的消费者可以获取所需的依赖项。

因为 maven-publish 默认不包含对 POM 文件的依赖,我不得不使用

pom.withXml {
            def dependenciesNode = asNode().appendNode('dependencies')
            configurations.compile.allDependencies.each {
                def dependencyNode = dependenciesNode.appendNode('dependency')
                dependencyNode.appendNode('groupId', it.group)
                dependencyNode.appendNode('artifactId', it.name)
                dependencyNode.appendNode('version', it.version)
                dependencyNode.appendNode('scope', 'compile')
            }
        }

在我将关键字 compile 换成 apiImplementation 之前,一切正常。 发布的 POM 不包含任何使用关键字 apiImplementation 的依赖项。我不得不使用 compile 将其包含在 POM 文件中,我在这里遗漏了什么吗?

最佳答案

在网上搜索了几个小时后,我才意识到你包含的 POM 文件的属性也发生了变化。

现在变成了

//for implementation dependencies
configurations.implementation.allDependencies.each { ... }

//for api dependencies
configurations.api.allDependencies.each { ... }

但是,

configurations.implementation.allDependencies.each { ... }

似乎已经在 POM 文件中包含 api 依赖项。

关于android - Maven-Publish 不在 POM 中发布 API/实现依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49664179/

相关文章:

android - 如何在android中创建动态上下文菜单?

grails - 我如何配置Gradle 3.0的Gradle版本?

Gradle signArchives 无法读取 Secret Key

android - 将Debug和Release构建发布到Aaven的Maven Local

java - 以编程方式运行 adb 命令时出现异常

java - 为什么我的 APK 这么大?

java - Windows 10 更新后 Android Studio 上的 Gradle 同步失败

for-loop - 在gradle中应用插件

Gradle maven-publish 插件自定义工件名称

Android 应用程序无响应