[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Provide-Package vs Import-Package


I would suggest you open a bug against PDE-UI with your PDE issues, or ask the pde mailing list.

Here is some history from a runtime/framework point of view.

- In Eclipse 3.0 we needed a way to have multiple bundles offer (export/provide etc.) the same package.  This was to solve the ugly "split" package problem.  At the time it seemed drastic to enhance the Export-Package header from OSGi R3.  Instead a Provide-Package header was proposed that was used to provide a set of packages that would be used by requiring bundles (using the Require-Bundle header).

- For OSGi R4 the Provide-Package header ended up being rejected by OSGi.  Instead it was decided that the Export-Package header would be enhanced to allow for multiple bundles to export different versions of the same package, this was needed for many of the enhanced modularity usecases that came with R4.  This allowed us to map the Provide-Package usecases directly ontop of Export-Package.

- With the Export-Package header changes (and other manifest syntax changes) in R4 OSGi decided there was a need to version the bundle manifest syntax.  This new R4 syntax is first supported with Eclipse 3.1.

Before OSGi became a part of Eclipse there was really only a concept of Provide-Package.  This continued to be true in Eclipse 3.0.  Bundles developed for Eclipse 3.0 do not have a Bunde-ManifestVersion: 2 header.  Here PDE is making the assumption that if the bundle is not using the new syntax then it must be exposing packages using the Provide-Package header.  That is the reason you are seeing Provide-Package headers in your manifest.

Tom





Simon J Archer/Raleigh/IBM@IBMUS
Sent by: equinox-dev-bounces@xxxxxxxxxxx

02/14/2006 09:09 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] Provide-Package vs Import-Package






It seems that adding the header:


Bundle-ManifestVersion
: 2

makes the PDE tooling use Export-Package rather than Provide-Package; this is far from obvious.  If adding a Bundle-ManifestVersion header (with the value 2) is so important, why does the PDE tooling not provide an easy way to specify this?


Thanks


Simon






Simon J Archer/Raleigh/IBM@IBMUS
Sent by: equinox-dev-bounces@xxxxxxxxxxx

02/14/2006 09:54 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
equinox-dev@xxxxxxxxxxx
cc
Subject
[equinox-dev] Provide-Package vs Import-Package








While using M4 today I noticed that the manifest's Runtime page for my bundle showed nothing in its Export-Package list, even though I had correctly use the Export-Package header in my manifest.mf to export a bunch of packages.  I quickly found that using the PDE tooling to add to the editor's "Export-Package" list resulted in a Provide-Package header instead of an Export-Package header.  I also found this rather old bug report that sort of explained things...


      https://bugs.eclipse.org/bugs/show_bug.cgi?id=75214


Provide-Package does not seem to be part of OSGi R3 or R4, so I assume that it's an Equinox specific header.  Can anyone explain what's going on here, and whether the PDE tooling is going to be fixed to allow you to correctly add OSGi Export-Package header values.


Thanks


Simon


_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev