当我运行 gradle install
时,它会在每个子项目中生成漂亮的 pom.xml
文件。
在哪里可以看到实现该功能的源代码?
根据 Maven plugin documentation ,有一些关于 Upload 的信息任务,但其文档和源代码没有产生任何具体内容。
最佳答案
您可以将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()
中的实际 Artifact 填充基本 pom 数据 - 填充依赖项 - 它们由
DefaultMavenPom.getGeneratedDependency() 填充
- 写入生成的文件
关于java - `gradle install`如何生成 `pom.xml`文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329062/