User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0
Thomas,
I think you'll find the use of these APIs have gone far a wide.
I count 15 uses of things from this package in my Oomph
workspace. Also 804 in my SDK workspace; you'll find them used in
PDE and in p2. I don't think anyone understands the implications
of removing/changing all these things, I don't think there are
"replacements" for them, and even if there are, they're
used/surfaced in APIs and I don't think anyone (and most certainly
not everyone) has time to rework everything downstream to use
replacements and make new APIs...
So that's all to say that this looks like a rat hole to me. :-(
On 08.01.2021 16:02, Thomas Watson
wrote:
You are correct, this is a rather a tricky
situation. Especially because of things
like org.eclipse.pde.core.plugin.IPluginModelBase.setBundleDescription(BundleDescription)
I'm not entirely sure why that is API there,
seems like an internal implementation detail to be able to set
the BundleDescription which backs the implementation details
of IPluginModel. Perhaps a more realistic consideration would
be to move the API to PDE.
What does it mean to deprecate "the API
package org.eclipse.osgi.service.resolver"? Does that
affect the use of things like
org.eclipse.osgi.service.resolver.VersionRange,
org.eclipse.osgi.service.resolver.BundleDescription, and
other things in that package? These things are needed for
stuff like
org.eclipse.pde.core.plugin.PluginRegistry.findModel(String,
VersionRange, PluginFilter) and
org.eclipse.pde.core.plugin.IPluginModelBase.getBundleDescription()
so surely there is not a suggestion here to deprecate these
things too?!
On 08.01.2021 15:40, Thomas Watson wrote:
I would be in favor of deprecating the API
package org.eclipse.osgi.service.resolver which is
contained in the Equinox Framework (org.eclipse.osgi).
The framework fragment
called org.eclipse.osgi.compatibility.state holds the
actual implementation, which is internal. But anything
needing to get an instance of the implementation should
be using the StateObjectFactory API to do so (See
org.eclipse.osgi.service.resolver.StateObjectFactory.defaultFactory)
Tom
-----
Original message -----
From: Mickael Istria <mistria@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx
To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Cc:
Subject: [EXTERNAL] [equinox-dev] Marking
org.eclipse.osgi.compatibility.state APIs as deprecated?
Date: Fri, Jan 8, 2021 3:47 AM
If yes, should we mark them all as @Deprecated
with hints about which API should be used instead? I
guess if this was done, it would hint consumers to
progressively adopt newer/better APIs.