Github user aledsage commented on the pull request:
https://github.com/apache/incubator-brooklyn/pull/85#issuecomment-50471866
Looking at e.g. [1], there are folk who argue it each way. I also like the
suggestion "reflect the logical project dependencies". If the project has a
source-level dependency on guava then fine to declare that rather than rely on
a transitive dependency pulling it in. When combined with tools like the Maven
Story Teller Plugin (MSTP) [2] then this should be ok.
What I am wary of is... if we use library X that includes in its method
signatures types from library Y, then I don't want us to declare a dependency
on Y just because of that. If we upgrade the version of X, then we want to
automatically get the correct version of Y rather than having to manually
update our pom for Y as well when MSTP tells us its wrong.
@grkvlt what are your opinions here? (I also don't want this to turn into a
huge debate/distraction!)
[1]
http://stackoverflow.com/questions/4226756/maven-should-i-keep-or-remove-declared-dependencies-that-are-also-transitives
[2] http://confluence.highsource.org/display/MSTP/User+Guide
---
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.
---