runIvyDeps
should be transitive for consistency with Maven resolution
#3761
Milestone
runIvyDeps
should be transitive for consistency with Maven resolution
#3761
Discussed in #3722
Originally posted by megri October 12, 2024
Let's say we have the modules
A <- B <- C
where<-
denotes a "depends on" relationshipSo
C
introduces slf4j andB
a logging implementation.mill A.ivyDepsTree --withRuntime
showsWhile the example may seem a little contrived—why not define the runtime dependency in the A module?—this has consequences with for instance assemblies. At work we have a project of several Spark applications (as separate modules) that are packaged into one single assembly for easy shipping. These modules have different but non-conflicting [runtime] dependencies, and the assembly won't collect the runtime parts without overriding for instance
transitiveIvyDeps
(which solves one level of transitivity—it has to be overridden in all modules to include "deep" runIvyDeps.)Aside from backwards compatibility, would making runIvyDeps transitive be an issue?
The text was updated successfully, but these errors were encountered: