Github user ahgittin commented on the pull request:

    https://github.com/apache/incubator-brooklyn/pull/85#issuecomment-50523323
  
    most errors in my experience are from things being hard to understand -- 
which makes me want to make significant dependencies explicit, and boring ones 
transitive (even if they are used).  guava feels boring (in this sense -- it's 
a great library of course!), as in i get no value from seeing it referenced 
from all the downstream sub-projects, and the detriment is that i can't easily 
see in the source which new libraries are being pulled in.
    
    i lean more towards redeclaring transitive dependencies where the 
intermediate project is external, because then it is possible the dependency 
could change without the focus project knowing.  but since these are all part 
of brooklyn any change to, say the dependencies of brooklyn-utils-common, will 
be picked up immediately in core and elsewhere.  i don't see any benefit either 
in catching errors or scanning licenses to have dependencies included from two 
brooklyn projects which themselves have a dependency relationship.
    
    but it's a minor point, the code will function fine either way (right?).  
and we can't easily enforce either answer (ie require code-level dependencies 
to be redeclared, or prevent transitive dependencies from being redeclared) so 
it is likely to be approximate in any case.  so overall no strong feelings...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to