`gradle install` 如何生成 `pom.xml` 文件

Posted

技术标签:

【中文标题】`gradle install` 如何生成 `pom.xml` 文件【英文标题】:How does `gradle install` generate the `pom.xml` files 【发布时间】:2019-10-13 04:57:04 【问题描述】:

当我运行gradle install 时,它会在每个子项目中生成漂亮的pom.xml 文件。

在哪里可以看到实现该功能的源代码?

根据Maven plugin documentation,Upload 任务有一些东西,但它的文档和源代码没有产生任何具体内容。

【问题讨论】:

【参考方案1】:

您可以将gradle-maven-VERSION.jar 添加到您的依赖项中并自己调试插件。相应的源代码位于您的 gradle 安装中,或者在 github 上:https://github.com/gradle/gradle/tree/master/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal

为了让您领先一步:大部分代码位于 DefaultMavenPom 类中。 它是在DefaultMavenPomFactory.create() 中创建的,带有一些虚拟值:

MavenProject.EMPTY_PROJECT_GROUP_ID MavenProject.EMPTY_PROJECT_ARTIFACT_ID MavenProject.EMPTY_PROJECT_VERSION

然后,AbstractMavenResolver.publish(IvyModulePublishMetadata moduleVersion) 被调用, 其中,除其他外:

根据DefaultArtifactPom.assignArtifactValuesToPom()中的实际工件填写基本pom数据 填写依赖项-它们用DefaultMavenPom.getGeneratedDependencies()填写 写入生成的文件

【讨论】:

以上是关于`gradle install` 如何生成 `pom.xml` 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 gradle 测试任务为不在 maven Central 上的库使用 python pip install?

如何使用 poedit 从 js 文件生成 po 文件

Gradle任务依赖

如何在mac上安装gradle

Gradle基本使用:安装IDEA使用

Gradle 替代 mvn install