android–Gradle maven-publish插件生成没有依赖关系的pom

android–Gradle maven-publish插件生成没有依赖关系的pom,第1张

概述我有一个项目,它有一个SharedCode(Java)模块,其次是一个依赖于SharedCode模块的Android(Android库)模块.我以前一直在build.gradle文件中使用maven插件,我一直在使用该插件的uploadArchives任务来发布我的两个模块中的工件.这已经工作并生成了pom文件,这些文件反映了我的build.grad

我有一个项目,它有一个SharedCode(Java)模块,其次是一个依赖于SharedCode模块的Android(Android库)模块.我以前一直在build.gradle文件中使用maven插件,我一直在使用该插件的uploadArchives任务来发布我的两个模块中的工件.这已经工作并生成了pom文件,这些文件反映了我的build.gradle文件中的依赖项.

我以为我会用新的maven-publish插件替换旧的maven插件,但奇怪的是我看到maven-publish插件生成的pom文件不包含依赖项?!这是设计还是这个插件中的错误,或者我可能错误地使用插件?

我的SharedCode模块中的build.gradle文件如下:

apply plugin: 'java'apply plugin: 'maven-publish'group = "${projectGroupID}"version = "${projectVersionname}"dependencIEs {    compile 'com.Google.guava:guava:18.0'}publishing {    publications {        SharedCode(MavenPublication) {            groupID "${projectGroupID}"            artifactID 'SharedCode'            version "${projectVersionname}"            artifact("$buildDir/libs/SharedCode-${projectVersionname}.jar")        }    }}

我的AndroID模块中的build.gradle文件如下:

apply plugin: 'com.androID.library'apply plugin: 'maven-publish'group = "${projectGroupID}"version = "${projectVersionname}"androID {    // androID stuff here...}dependencIEs {    compile project(':SharedCode')}publishing {    publications {        AndroID(MavenPublication) {            groupID "${projectGroupID}"            artifactID 'AndroID'            version "${projectVersionname}"            artifact "$buildDir/outputs/aar/AndroID-release.aar"        }    }}

从SharedCode模块创建的pom文件如下:

<?xml version="1.0" enCoding="UTF-8"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0        http://maven.apache.org/xsd/maven-4.0.0.xsd"        xmlns="http://maven.apache.org/POM/4.0.0"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <modelVersion>4.0.0</modelVersion>    <groupID>com.mycompany.sdk</groupID>    <artifactID>SharedCode</artifactID>    <version>0.0.2</version></project>

从AndroID模块创建的pom文件如下:

<?xml version="1.0" enCoding="UTF-8"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0        http://maven.apache.org/xsd/maven-4.0.0.xsd"        xmlns="http://maven.apache.org/POM/4.0.0"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <modelVersion>4.0.0</modelVersion>    <groupID>com.mycompany.sdk</groupID>    <artifactID>AndroID</artifactID>    <version>0.0.2</version>    <packaging>aar</packaging></project>

请注意pom文件中缺少依赖项.

解决方法:

使用components.java而不是java项目的出版物部分中的工件…行.这应该自动生成pom中的依赖项.

androID项目不被认为是标准的java项目,这使得它有点棘手.您可以使用pom.withXml {}创建自己的依赖项部分,然后遍历您的依赖项列表.或者,有this gradle plugin为你做.

总结

以上是内存溢出为你收集整理的android – Gradle maven-publish插件生成没有依赖关系的pom全部内容,希望文章能够帮你解决android – Gradle maven-publish插件生成没有依赖关系的pom所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1111086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存