pdt icon indicating copy to clipboard operation
pdt copied to clipboard

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

Open jonahgraham opened this issue 2 years ago • 2 comments

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

jonahgraham avatar Jun 29 '23 23:06 jonahgraham

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?

zulus avatar Jul 17 '23 09:07 zulus

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.

jonahgraham avatar Jul 19 '23 18:07 jonahgraham