Сгенерированный.pom без учета транзитивных зависимостей

Возникла небольшая проблема, из-за которой мой сгенерированный.pom (использующий Gradle v4.10.3 и подключаемый модуль maven-publish gradle) не включает транзитивные зависимости. Из того, что я прочитал, следует читать зависимости проекта и включать их (я думаю!) Вместо того, чтобы вручную объявлять их в.pom. Я просмотрел документацию для объекта Pom и не увидел методов, которые могли бы объявить транзитивные зависимости.

https://gitlab.com/snippets/1822620

Вот фрагмент файла build.gradle.kts корня моего проекта и код из файла build.gradle.kts моего подпроекта (android-core). Как видите, подпроект android-core зависит от подпроекта core, но он не объявляется как таковой, когда я генерирую.pom.

Есть ли параметр, который я должен установить где-нибудь, который сообщает.pom, где найти зависимости? Или я иду по этому совершенно неверному пути? Любая помощь приветствуется!

РЕДАКТИРОВАТЬ: У меня есть это в моем файле журнала конвейера, который может объяснить, почему android-core не вижу core как депрессия (может быть?)

22:47:03.531 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :generatePomFileForMaven-android-corePublication (Thread[Daemon worker,5,main]) started.

22:47:06.746 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :generatePomFileForMaven-android-localPublication (Thread[Daemon worker,5,main]) started.

22:47:23.416 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :generatePomFileForMaven-corePublication (Thread[Daemon worker,5,main]) started.

22:47:25.259 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :generatePomFileForMaven-learningPublication (Thread[Task worker for ':',5,main]) started.

Однако я понятия не имею, почему они будут генерировать Pom не по порядку, потому что он просматривает список с предопределенным порядком.

РЕДАКТИРОВАТЬ: РЕШЕНИЕ Хорошо, проблема была выше - порядок загрузки, я думаю, потому что плагин Maven Publish загружает асинхронно и содержимое core решение заняло больше времени, потому что оно имеет больше зависимостей и в целом больше. Я переключил свою публикацию для каждого подпроекта и явно вызывал один за другим в файле сценариев CI, и теперь он работает, как и предполагалось, со всеми зависимостями.

Примечание: когда я переключился на отдельный метод публикации подпроекта, мне пришлось переключить maven-publish плагин к android-maven-publish плагин для поддержки публикации (потому что вы не можете включить java плагин в рамках проекта Android, если у вас также есть com.android.library). Я также должен был переключить from(components["java"]) в from(components["android"]),

Я не думаю, что это лучший способ сделать это, но на данный момент, по крайней мере, это работает. Я постараюсь оптимизировать его лучше в будущем (и любые реальные ответы приветствуются!)

0 ответов

Другие вопросы по тегам