witty-crayon-22786
03/22/2016, 7:21 PMjolly-chef-92794
03/22/2016, 7:23 PMtransitive
argument to target()
“private”, ie rename to _transitive
, and make a new intransitive(spec)
alias equivalent to scoped(spec, transitive=False)
as the preferred way to define transitive deps?witty-crayon-22786
03/22/2016, 7:24 PMwitty-crayon-22786
03/22/2016, 7:24 PMwitty-crayon-22786
03/22/2016, 7:25 PMwitty-crayon-22786
03/22/2016, 7:25 PMjolly-chef-92794
03/22/2016, 7:26 PMjolly-chef-92794
03/22/2016, 7:27 PMintransitive()
aliaswitty-crayon-22786
03/22/2016, 7:27 PM_transitive
private/experimental might be alright if it's a thing that can be evolved.jolly-chef-92794
03/22/2016, 7:28 PMintransitive()
, we’d be free to completely change how it was implemented under the covers if it seemed expedientwitty-crayon-22786
03/22/2016, 7:29 PMjolly-chef-92794
03/22/2016, 7:30 PMwitty-crayon-22786
03/22/2016, 7:31 PMjolly-chef-92794
03/22/2016, 7:31 PMscoped_dependencies=[]
list I proposed originally, we could get around the ordering problem by just putting all dependencies in the scoped_dependencies
list, but giving most of them the default scopejolly-chef-92794
03/22/2016, 7:33 PMintransitive_dependencies
to dependencies
using Target's traversable_dependency_specs
property. Which has the advantage of not having to change all the existing dependency graph computationjolly-chef-92794
03/22/2016, 7:34 PMTarget.closure
from scratch in the first version of this patch, but when I switched from scoped_dependencies
to putting the scope and intransitive property on the Target, I was able to use the existing codewitty-crayon-22786
03/22/2016, 7:34 PMjolly-chef-92794
03/22/2016, 7:34 PMwitty-crayon-22786
03/22/2016, 7:35 PM_transitive
, and explicitly marking the intransitive
wrapper experimental?jolly-chef-92794
03/22/2016, 7:35 PMwitty-crayon-22786
03/22/2016, 7:37 PMrespect_intransitive
? it seems like in any reasonable case it should be safe to applywitty-crayon-22786
03/22/2016, 7:38 PMjolly-chef-92794
03/22/2016, 7:39 PMjolly-chef-92794
03/22/2016, 7:40 PMA
that intransitively depends on java library B
that intransitively depends on java library C
,jolly-chef-92794
03/22/2016, 7:40 PMB
with B
as the root when computing the closure, so it will correctly get C
jolly-chef-92794
03/22/2016, 7:40 PMA
with A
as the root, so it will correctly get B
but not C
, when respect_intransitive is Truejolly-chef-92794
03/22/2016, 7:40 PMjolly-chef-92794
03/22/2016, 7:41 PMA
, the ivy resolve needs to know that it should get everything A transitively depends onjolly-chef-92794
03/22/2016, 7:41 PMC
needswitty-crayon-22786
03/22/2016, 7:41 PM