[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] IServiceListener API break

Hey guys,

To clarify the current situation...AFAIK, the only reason the org.eclipse.ecf.discovery API was/is a singleton was because it declared a discovery namespace via plugin.xml (uses extension registry). With bugs [1][2], this restriction goes away...and moving forward I believe it would be possible for the discovery API to not be declared as a singleton. But since I'm not the maintainer of the discovery API I haven't actually removed the singleton bit from this bundle, and there could be other reasons why doing this could be problematic, that I don't know about.

Unfortunately, we can't go back in time to rewrite manifest history :) i.e. older versions of the discovery API have this singleton bit set...so even if we remove this restriction now it doesn't help Wim's situation.

I suspect we're all agreed on some general principles: 1) the Interface# approach doesn't scale at all well (as evidenced by the Platform UI's dependence on it; 2) It's best not to break clients; 2) Especially with listeners/callbacks, 2 can be a very onerous restriction and sometimes it makes sense to violate it.

Given that we've already had releases with the current version, at this point I don't think we could do the Interface# approach even if we all agreed that we wanted to.

Any thoughts on what to do? I could schedule a meeting to discuss if that's easier (and it might be). Please let me know what you guys think.



[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=421569
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=432778

On 8/14/2014 10:54 AM, Markus Alexander Kuppe wrote:
On 14.08.2014 18:59, Wim Jongman wrote:
I would certainly not qualify it as a failure. IMO it is the only way
possible if you don't want to break clients. If you mean it failed for
platform because they now have
Interface1 to Interface20 then I agree. However, not breaking API is a
plus for consumers.
I disagree. The reason why discovery 5.x is breaking consumers is
because the bundle is a singleton. Without it, existing customers would
be able to continue to use 4.x.

ecf-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit