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.
---