Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [orbit-dev] Versions of Export-Package

Thanks for the reply.

I'll start by appologizing for covering ground that has probably been covered already on this mailing list and also by admitting to being an "OSGi intermediate".

The concern I have related to this is that our project is a Runtime component, and as such, it is not only used within Eclipse, but also in other environments. Those other environments provide some of the packages we depend on in bundles they have built themselves. As a result, we cannot rely on the existence of a specific bundle. Those bundles, however, do export the packages we need - in fact, those packages are even derived from the same source code as the ones that are bundled in Eclipse.

The fact that bundles in Orbit do not provide versions on the packages prevents me from imposing any kind of version constraints on the packages I import. For now, that is ok due to the limited number of versions of bundles that are out there in OSGi format. It is, however, not difficult to imagine a time when a newer, incompatible version show up. At that point, the bundles I built today will no longer be usable in an environment that contains those new bundles.

Our project is transitioning to make much better use of Orbit in general, that is quite a good thing. It is just feels a bit "dirty" to have to weaken the Imports on the bundles we ship in order to use bundles that are in Orbit rather than the ones we were previously using.

Most of our dependencies are on libraries that were built as part of released JCP specifications. I am having a difficult time understanding why these types of libraries could not provide a version on their package exports, but in the end, I defer to the experts :)

I may be in for a bit of an OSGi lesson here, and if so, feel free to send me to a more appropriate place to have this discussion.

Thanks for your attention,
Tom

Thomas Watson wrote:
We should only add versions to the exported packages if there is a clear specification the defines what the version of the package is and how it evolves over time. This will be true for may of the bundles in orbit, but I'm not convinced all the third party libraries we use in orbit evolve their APIs in a consistent way that allows us to determine the correct version. Of coarse in the cases where the version is known we should place them on the exported packages. These types of packages are good candidates for substitutability. But I do not think we should blindly put the bundle-version as the package-version when the package-version cannot be determined. In this case the package is closely bound to the bundle in which it is packaged in and likely must be consumed by require-bundle.

So unfortunately we are still dealing with this on a case by case basis.

Tom


Inactive hide details for David M Williams---04/16/2009 12:03:53 PM---The reason for the inconsistency is just history and needDavid M Williams---04/16/2009 12:03:53 PM---The reason for the inconsistency is just history and need.


From:	
David M Williams/Raleigh/IBM@IBMUS

To:	
Orbit Developer discussion <orbit-dev@xxxxxxxxxxx>

Date:	
04/16/2009 12:03 PM

Subject:	
Re: [orbit-dev] Versions of Export-Package

------------------------------------------------------------------------



The reason for the inconsistency is just history and need.

It is best to use import/export, but I've resisted any mass effort to
"fix" all the existing ones.

Here's our last mailing list discussion about this topic ... not so long
ago.
http://dev.eclipse.org/mhonarc/lists/orbit-dev/msg01189.html
As far as I recall, using the .qualifier on export is controversial but
will let others argue that.
The overly simple summary is, as I recall, some think it's not necessary,
not tooled, and stretches the semantics of the fourth field ... but,
others think it's sometimes handy.

Hope that helps. If not, ask again :)
And feel free to update out guidelines at
http://wiki.eclipse.org/Adding_Bundles_to_Orbit
Doesn't appear anyone has.








From:
Tom Ware <tom.ware@xxxxxxxxxx>
To:
Orbit Developer discussion <orbit-dev@xxxxxxxxxxx>
Date:
04/16/2009 11:26 AM
Subject:
[orbit-dev] Versions of Export-Package
Sent by:
orbit-dev-bounces@xxxxxxxxxxx



Hi All,

  The libraries in Orbit seem quite inconsistent in terms of whether
their
Export-Package manifest sections specify a version.  Is there any
particular
reason this is so inconsistent?

  My instinct is to believe that given the recommendations that
Import-Package
should be used instead of Require-Bundle, it would be a good idea if Orbit

libraries exported version numbers for packages as well.  Can someone
point me
to the policy about this (if one exists) and the reasoning?

  Additionally, if Export-Package specifies a version, should be of the
form
x.y.z.qualifier like the docs suggest for Bundle-Version?

Thanks in advance,
-Tom
_______________________________________________
orbit-dev mailing list
orbit-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orbit-dev



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



------------------------------------------------------------------------

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


Back to the top