Hi,
I am having a bit of an issue understanding dependencies of which configuration are added to the final runtime artifact generated from a gradle java project, or a gradle kotlin jvm/android project.
I understand as an application developer, i would have options to decide the configuration in task such as below , where i am essentially adding runtimeClasspath
jar {
manifest {
attributes "Main-Class": "com.baeldung.fatjar.Application"
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
However what happens if i dont have a custom jar task and i use say gradle jar or gradle jvmJar or for that matter what happens when vendor plugins are used such as shadow plugin or spring boot , running gradlew bootJar tasks.
Is there a default configuration that gradle would use underlying to manage dependencies. If so, how can i find that out?
I was looking at the plugin codebase , is it right to assume that these are the configurations that are finally used for the dependency graph.
So even projects such as GitHub - Kotlin/full-stack-web-jetbrains-night-sample: Full-stack demo application written with Kotlin MPP
where we have a server, kotlin serverside, i have able to get a runtimeClasspath configurations but for shared project where we see that configuration runtimeClasspath is absent , however jvmRuntimeClasspath is present
Regards