Допустим, у меня есть два мультипроекта:
- ядро / 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) } }
Спасибо.