У меня есть многопроектный проект gradle, который я пытаюсь очистить, и, где это возможно, я хотел бы выразить свои зависимости shadowJar в терминах существующих shadowjar.Например, если у меня есть проекты LibA и LibB, а также продукт Prod1, я хотел бы построить shadowjar для Prod1 на основе shadowjar для LibA и LibB.
Область интересов в файле build.gradleнапоминает этот пример:
project (':LibA') {
dependencies {
compile "org.glassfish:javax.json:1.0.4"
// Other 'compile' dependencies...
}
test.dependsOn("shadowJar");
shadowJar {
zip64 true
dependencies {
include(dependency("org.glassfish:javax.json:1.0.4"))
// Other 'include' dependencies...
}
}
}
project (':LibB') {
dependencies {
compile "org.glassfish:javax.json:1.0.4"
// Other 'compile' dependencies...
}
test.dependsOn("shadowJar");
shadowJar {
zip64 true
dependencies {
include(dependency("org.glassfish:javax.json:1.0.4"))
// Other 'include' dependencies...
}
}
}
project (':Prod1') {
dependencies {
compile project(':LibA')
compile project(':LibB')
compile "org.external:packageA.packageB:1.8"
// Other 'compile' dependencies...
}
test.dependsOn("shadowJar");
shadowJar {
zip64 true
dependencies {
include(.... LibA-all.jar ....) // <-- What goes here?
include(.... LibB-all.jar ....) // <-- What goes here?
include(dependency("org.external:packageA.packageB:1.8"))
// Other shadowjar 'include' dependencies...
}
}
}