Bug 565239 - Migrate IBundleGroupProvider implementation to another bundle
Summary: Migrate IBundleGroupProvider implementation to another bundle
Status: ASSIGNED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 4.17   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 564850
  Show dependency tree
 
Reported: 2020-07-15 09:06 EDT by Alex Blewitt CLA
Modified: 2021-04-03 10:48 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Blewitt CLA 2020-07-15 09:06:01 EDT
The IBundleGroupProvider is used by org.eclipse.core.runtime, but it is currently provided by the org.eclipse.update.configurator bundle:

{org.eclipse.core.runtime.IBundleGroupProvider}={service.id=140, service.bundleid=258, service.scope=bundle, component.name=org.eclipse.update.configurator.bundlegroup, component.id=57}
  "Registered by bundle:" org.eclipse.update.configurator_3.4.600.v20200422-1910 [258]
  "Bundles using service"
    org.eclipse.core.runtime_3.19.0.v20200626-1402 [54]

In order to remove this fully from the system, we will need to move the default implementation of this provider to a different location.
Comment 1 Alexander Kurtakov CLA 2020-07-15 09:09:52 EDT
Both of these bundles don't live in p2. It sounds like moving to core.runtime makes most sense to me.
Comment 2 Alexander Kurtakov CLA 2020-07-15 09:38:57 EDT
OK. I get it now. Sorry for the confusion I proposed one thing and then another. So the new api in p2 should be about parsing of feature.xml files (according to the other bug)?
Comment 3 Alex Blewitt CLA 2020-07-15 10:28:32 EDT
So the provider of the IBundleGroupProvider is currently a declarative service hosted in org.eclipse.update.configurator bundle, which we're trying to get rid of (bug 564850). However, various services (including org.eclipse.core.runtime) require there to be a service for this bundle.

So we need a new home for ThingThatImplementsIBundleGroupProvider, and the logical place for that is (probably) somewhere in P2, which will parse feature.xml files and provide that interface.

To be clear, the org.eclipse.core.runtime.IBundleGroupProvider interface is almost certainly OK where it is (and would be challenging to change). But what it amounts to is a move/refactoring of org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleGroupComponent.java to somewhere more P2 specific.
Comment 4 Alexander Kurtakov CLA 2020-07-15 10:49:26 EDT
I see. Thanks for the clarification and sorry for the noise I created.
Comment 5 Lars Vogel CLA 2020-07-22 04:04:23 EDT
Alex, can this be done for M3? If not, please reset target.
Comment 6 Lars Vogel CLA 2020-09-07 12:27:33 EDT
I did a few cleanups in this plug-ini but unfortunately referred to the wrong bug.

Gerrit change https://git.eclipse.org/r/c/platform/eclipse.platform/+/167878 was merged to [master].
Commit: http://git.eclipse.org/c/platform/eclipse.platform.git/commit/?id=ac8c8d439179d4d7d31da56c6be502ce77a22bfe
[tag] [reply] [−]Comment 14Eclipse Genie CLA Friend 2020-09-07 04:28:45 EDT
Gerrit change https://git.eclipse.org/r/c/platform/eclipse.platform/+/167880 was merged to [master].
Commit: http://git.eclipse.org/c/platform/eclipse.platform.git/commit/?id=6bd869c527415839e37be1be7165240c04a28ffe
[tag] [reply] [−]Comment 15Eclipse Genie CLA Friend 2020-09-07 12:24:29 EDT
Gerrit change https://git.eclipse.org/r/c/platform/eclipse.platform/+/167879 was merged to [master].
Commit: http://git.eclipse.org/c/platform/eclipse.platform.git/commit/?id=1d2cbe26044da25e7d0197b8096f780cbb712d40

I hope these cleanups will make the migration easier.
Comment 7 Lars Vogel CLA 2021-04-01 05:24:35 EDT
Alex, do you plan to work on this?
Comment 8 Alex Blewitt CLA 2021-04-03 10:48:38 EDT
It still needs to be done, yes, but I've been focussing on other things for the time being. If someone else wants to take this over, I'm happy to release it :)