It's not a new method, it's a change of signature. The old method is still
there. If an implementation disregards the abstract class, which contains
the replacement, it would still work, right?

Gintas

2017-07-28 18:55 GMT+02:00 Stefan Bodewig <bode...@apache.org>:

> On 2017-07-28, Jaikiran Pai wrote:
>
> > Ivy has a DependencyResolver interface which is the central piece of
> > contract/interface for extending Ivy (any external usage for that
> > matter).
>
> I'm not at all familiar with Ivy and the eco system that might exist
> around it. How likely is it that anybody has implemented this interface
> in a an extension? And how likely does such an extension not subclass
> AbstractResolver?
>
> Adding methods to an interface usually means a backwards incompatible
> change that requires a new major version when using semantic versioning
> (not sure whether Ivy uses semver, Ant itself doesn't).
>
> > 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.
>
> Alternatively add a new interface with that method that extends
> DependencyResolver and is implemented by AbstractResolver and check for
> the new interface rather than AbstractResolver?
>
> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
> For additional commands, e-mail: dev-h...@ant.apache.org
>
>

Reply via email to