Составная сборка Gradle и зависимость задачи от артефакта - PullRequest
0 голосов
/ 18 октября 2018

Допустим, у меня есть два мультипроекта:

  • ядро ​​/ subA / moduleA (:core:subA:moduleA)
  • impl / subB / moduleB (:impl:subB:moduleB)

impl проект включает core в качестве составной сборки.

:impl:subB:moduleB имеет такие зависимости, как:

implementation "core:moduleA:someVersion"

Подстановка зависимостей работает довольно хорошо,но мне нужно получить доступ к артефакту jar "core:moduleA:someVersion" внутри задачи :impl:subB:moduleB.При разрешении зависимостей Gradle не выполняет задачу assemble из :core:subA:moduleA, что заставляет меня dependsOn :core:subA:moduleA:assemble напрямую.Но я не нашел способа сделать это динамически вместо жесткого кодирования dependsOn gradle.includedBuild('core').task(':subA:moduleA:assemble').

Есть ли другой способ как зависеть от assemble задачи зависимости?

Причина, по которой мне нужноэтот артефакт - то, что я хочу создать fat jar из :impl:subB:moduleB с включенными скомпилированными классами :core:subA:moduleA, и следующая задача типа Jar не работает, потому что артефакт не создан:

from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...