Как `gradle install` генерирует файлы` pom.xml` - PullRequest
0 голосов
/ 27 мая 2019

Когда я запускаю gradle install, он генерирует хорошие pom.xml файлы в каждом подпроекте.

Где я могу увидеть исходный код, который выполняет это?

Что касается документации по плагину Maven , в задаче Upload есть что-то, но ее документация и исходный код ничего конкретного не дают.

1 Ответ

1 голос
/ 28 мая 2019

Вы можете добавить 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) называется, который, среди прочего:

  • Заполняет основные данные pom на основе фактического артефакта в DefaultArtifactPom.assignArtifactValuesToPom()
  • Заполняет зависимости - они заполняются DefaultMavenPom.getGeneratedDependencies()
  • Записывает сгенерированный файл
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...