hello Everybody, We would like to maintiain a backward compatibility as much as possible of our software , it means if consumer modifiy a bundle version N, and if we deliver a new version N+1 , he could keep using his modified bundle until he will be ready to use N+1. So to allow this the only way I've found after many days of brainstorming is to have the same bundle with the many versions on Karaf, so this my real use case and my question:
let's have: - two bundles (API) <b> API1.0 and API1.1</b>: both of them export package com.foo.Inetrface (this interface has been modified by consumer and kept the same name , in the same artifact - one consumer bundle <b>CNS </b>importing package from API using this range [1.0,2)==> will include API1.0 and API1.1. is there any way to tell CNS ( on runtime or compile time ) which version of API it should consume ? Concretely as CNS will refrence the higer version (1.1) I would like to force if to use 1.0 (in the case when Client will have modified initial version API 0.0 to API 1.0, and after we will deliver to hil a nexw version API 1.1, so the client should continue to use API 1.0 with CNS ) i Thought of a kind of bundle proxy which will include API1.0 and API1.1, and than will have the repsonsablity to drive toward 1.0 or 1.1 but , finally it's very hard to develop especially I shoud touch Classloaders ... Many thans for your help
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev