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