This PR - https://github.com/apache/ant-ivy/pull/57 does changes related
to generics usage. I reviewed it a while back and it looks fine overall
except for one change, for which I need inputs from the rest of the team.
Ivy has a DependencyResolver interface which is the central piece of
contract/interface for extending Ivy (any external usage for that
matter). This PR introduces a new method on this interface. I
understand why that method (in favour of the other one that is marked as
deprecated in that same PR) makes sense. Had this been some other
relatively lesser exposed interface or had this been a change related to
introducing a new feature, I think I probably wouldn't have been worried
about it. However, given the nature of this interface, I think we
shouldn't add this method just yet in this release. Instead, what I
think we could do is add that method to the implementing class(es)
internally (like the AbstractResolver - the PR does that already). Of
course at some places within our code, if we want to use the newer
generics based method, we will probably end up doing a type check on the
resolver instance to see if it's a AbstractResolver which has that new
method, but I think that should be fine for now.
I would like some inputs on how we should go about this.