eclipse-pdt / pdt

PHP Development Tools project (PDT)
https://eclipse.org/pdt
Eclipse Public License 2.0
189 stars 46 forks source link

Use import-package instead of require-bundle for third-party dependencies #241

Open jonahgraham opened 1 year ago

jonahgraham commented 1 year ago

There are a number of places in PDT where 3rd party code is referenced in MANIFEST.MF with require-bundle. This is causing PDT to force pull-in the Orbit version of these bundles when ideally it should accept the more modern way of packaging them with direct from maven.

For example https://github.com/eclipse-pdt/pdt/blob/6955a30b3e21e50c5bad8cffa5b486cb62d302a6/plugins/org.eclipse.php.composer.ui/META-INF/MANIFEST.MF#L29

There is nothing to do immediately, but when updating soon to the newest set of dependencies (hopefully during the 2023-09 release cycle) changing these dependencies would be great.

See https://github.com/eclipse/orbit/issues/25 and https://github.com/eclipse/orbit/pull/37

zulus commented 1 year ago

We use platform .target files as a base for dependency resolution, because it's faster than maven calculation (a least was faster couple years ago). Are you sure that simple MANIFEST.MF change redirect us to maven repository?

jonahgraham commented 1 year ago

The issue is that when we consume commons io from Maven directly the name of the bundle is org.apache.commons.commons-io instead of org.apache.commons.io. The package names are the same. So your target file can keep using the old name.

In the coming days there will be an announcement about this on orbit-dev and cross-project-issues-dev, but there will be a new p2 site that allows you to consume updated Orbit that is populated from Maven directly allowing us to keep versions updated.