On 7 Apr 2014, at 19:37, Lennart Jörelid wrote:
I don't understand the difference between what you suggest here, Mark,
and
simply disabling transitive dependencies.
Could you elaborate somewhat?
Well, the basics are:
* When compiling code, all I need to do is satisfy the contracts my
dependencies interfaces/public signatures. If my code fails to compile
due to some absent dependency ( note, this is different from a
non-resolvable, declared dependency ), then I should go an add a
`<dependency/>` element to my pom.
* When running tests however, you require the transitive dependencies on
the classpath so the upstream code _actually works_.
* When packaging for distribution, you require the transitives for a
running solution.