Let’s say I have the following gradle java projects:
Library:
dependencies {
api("dep1")
api("dep2")
api("dep3")
}
Software-Api:
dependencies {
api("library")
}
Software-Impl:
dependencies {
implementation(project(":api")
}
The problem is that with shadowJar it includes every dependency declared with api().
I can declare Software-Impl as isTransitive = false
, for this case. But that doesn’t feel right?
Am I misunderstanding something about the use of api() ?
Should I avoid re-declaring dependencies as api() ?
Thanks in advance