eclipse-cdt / cdt

Eclipse CDT™ C/C++ Development Tools
http://eclipse.org/cdt
Eclipse Public License 2.0
307 stars 201 forks source link

Not all plugins provided by CDT is included in a CDT feature #222

Open Torbjorn-Svensson opened 1 year ago

Torbjorn-Svensson commented 1 year ago

I noticed that installing an unrelated feature will query the https://download.eclipse.org/tools/cdt/releases/latest update site and download updates for the following plugins:

com.sun.xml.bind_2.3.3.v20221112-0806.jar jakarta.xml.bind_2.3.3.v20221112-0806.jar javax.activation_1.2.2.v20221112-0806.jar javax.xml_1.4.1.v20220503-2331.jar org.eclipse.tools.templates.core_1.3.0.202211062329.jar org.eclipse.tools.templates.freemarker_1.3.0.202211062329.jar org.eclipse.tools.templates.ui_1.4.0.202211062329.jar

It did also download updates for these 2 plugins, but they are covered by 2 features, so not really the same problem. com.google.gson_2.9.1.v20220915-1632.jar org.eclipse.launchbar.core_2.5.0.202211062329.jar

For the launchbar, the containing feature can't be used as the core functionality is required by a lot of plugins in CDT, but we do not want the launchbar UI.

ruspl-afed commented 1 year ago

I would say that bundles like javax.xml should not be included to any CDT feature at all, but rather to the p2 site. This is required to let the "end-product" do decide which 3rd party version to include. For example, if 3rd party needs to be undated due to a fixed CVE.

Torbjorn-Svensson commented 1 year ago

I somewhat agree on the javax.xml, as they included in the CDT repository, but not built by us. For org.eclipse.tools.templates.*, it's a different story as we (CDT) are building and providing these plugins.

ruspl-afed commented 1 year ago

I agree for org.eclipse.tools.templates.* and all others that CDT is building from its own sources, they definitely should belong to a CDT feature.

jonahgraham commented 1 year ago

Not sure I understand what the bug is here.

Is it that we have bundles we depend on that aren't listed in feature.xmls? Do we need to open each feature.xml and in the Dependencies tab press Compute? Can this be automated as part of the build? Can tycho take this on as a feature request?

Torbjorn-Svensson commented 1 year ago

Not sure I understand what the bug is here.

Is it that we have bundles we depend on that aren't listed in feature.xmls? Do we need to open each feature.xml and in the Dependencies tab press Compute? Can this be automated as part of the build? Can tycho take this on as a feature request?

Yes, there is no feature.xml file that mentions the org.eclipse.tools.templates.* plugins, so there is no way to lock down these based on a given CDT release. The downstream consumer would need to know the internal plugin dependencies in order to lock down these plugins.

ruspl-afed commented 1 year ago

Not sure I understand what the bug is here.

We need to choose a concrete CDT feature to bring our org.eclipse.tools.templates.* plugins to the world

Is it that we have bundles we depend on that aren't listed in feature.xmls?

We do, and a lot of them, but I don't see an issue here.

Do we need to open each feature.xml and in the Dependencies tab press Compute?

Better to avoid this action, not sure that result will make us happy

Can this be automated as part of the build?

feature.xml is already a manifest for the automated build

Can tycho take this on as a feature request?

This is a kind of msiconfiguration on CDT side, nothing to do for Tycho here.