On Dec 26, 2008, at 11:49 AM, Richard S. Hall wrote:

Alan D. Cabrera wrote:

On Dec 25, 2008, at 11:30 AM, Richard S. Hall wrote:

It depends on if it is only exporting or exporting AND importing the packages.

If it is only exporting, then the old packages from the old revision will be available and so will the new packages from the new revision. Of course, importing bundles will continue to import from the old bundle, so you will need a refresh to get everything to be in the same class space.

To put a finer point on it any new bundles that resolve foo will resolve to the old bundle archive?

Most likely, since prior resolved packages are preferred.

If is is exporting AND importing it will be wired to the existing foo and bar, but will export cdr 2.0.0 and car. Of course, if there are any uses constraints among the packages, then this might not be possible.

I'm probably being dense but I don't think that I am following who is importing and exporting what. Could restate the above scenario and its consequences?

Old revision:
exports foo v1, bar v1, cdr v1

New revision:
exports cdr v2, car v1
imports foo v1 (from old revision), bar v1 (from old revision)

So, it seems that we have bundles within bundles.

This is assuming there are no uses constraints that prevent it.

So, we add a new archive bundle and have to have both resolved. The old one "automatically" resolves since was previously resolved. The new one then must be resolved or else it's exports are not available.

Also, we have had some debate inside CPEG as to whether old packages are available for new wires. My position is that they are.

I'd love to see the debate thread since to my mind there can be no other position than yours.


Regards,
Alan



-> richard


It seems that much of this is logically "intuited" from the spec.


Regards,
Alan

Alan D. Cabrera wrote:
Let's say I have a bundle that exports packages com.a.foo:1.0.0, com.a.bar:1.0.0, and com.a.cdr:1.0.0. There are a number of bundles that import com.a.foo.

Now, we update the bundle and the new bundle archive exports com.a.foo:1.0.0, com.a.bar:1.0.0, com.a.cdr:2.0.0, and com.a.car: 1.0.0. I'm not sure what happens. I think that since the old bundle archive has an export, com.a.foo:1.0.0, that's being used nothing happens until a framework restart or the package com.a.foo is refreshed.

Am I correct?
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev


_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to