Hi Guillaume,

A few comments about the new OBR:

   * great job on the speed improvement!
   * thanks for the new Reason API; i'd been hoping for something like this
   * I've tried the new Resolver flags, but none of them seem to behave
     like what i do with:

final Repository[] repolist = _repoAdmin.listRepositories();
Resolver resolver = _repoAdmin.resolver((Repository[]) (new ArrayList() {{
      add(_repoAdmin.getSystemRepository());
      addAll(Arrays.asList(repolist));
}}).toArray(new Repository[repolist.length + 1]));

   * when i use NO_LOCAL_RESOURCES or DO_NOT_PREFER_LOCAL, my local
     resources are still stripped from the OBR resolution; which is
     precisely what i'm trying to avoid.. or maybe i misunderstood
     these flags and a new flag could be introduced to reflect the use
     case above.
   * more importantly, the output of the new implementation is
     different from the previous one; namely, in my use case, it pulls
     one additional resource that i do not need (nor want).. I haven't
     yet managed to pinpoint the exact problem but here's what happens:
         o i'm trying to resolve one single resource wich has a list of
           "Require-Bundle" dependencies
         o one of these required bundles provides packages required by
           the other ones
         o my OBR happens to contain another resource which also
           exports the same packages (same version!)
         o the new implementation now pulls that other resource while
           the old implementation did not, so i guess the resolution
           order has changed and it impacts the result


/arjun



Le 03/01/2010 11:41 AM, Guillaume Nodet a écrit :
I've done a fait amount of changes to OBR those last weeks and I think
it could deserve a release asap.
However, i'd like to have a few people reviewing the new API so that
we all agree on it before starting the release process.
For those who haven't followed the stream of JIRA issues, here is a
short summary:
    * a new API named org.apache.felix.bundlerepository is available,
it's mostly based on the org.osgi.service.obr one
       but include a lot of small improvements
    * the org.osgi.service.obr isn't shipped anymore, but the if
present, a wrapper service will be exposed to offer compatibility
       with previous versions of OBR
    * the speed has been improved by a factor x10 or more (both parsing
and resolution)
    * ability to not resolve / install optional resources
    * support for requirements as an input for the resolution
    * support global constraints and capabilities

Feedback welcomed.   If there aren't any, I plan to start a release
early next week.


Reply via email to