I've made a first attempt at doing some of the above at https://github.com/gnodet/karaf-cave/commit/c610b47981cf834e58b20502ea1a7e7c567b1f98
It's simply reusing the classes from karaf-features-core instead of the ones from bundlerepository. I've only modified a few things in karaf-features-core this morning to add the xml writer and minor changes to make the classes more reusable. David, I don't have any problem moving those classes to felix again, but the current state of the bundle repository module is not good enough to me. Though I'm all for a rewrite based on the classes from karaf-features-core ... 2015-04-29 20:12 GMT+02:00 Guillaume Nodet <[email protected]>: > It can't write the xml repositories and it's cluttered with all the OBR > stuff. It also has a single implementation of Repository that proxies all > the defined repositories, instead of having multiple Repository services, > but that's a minor point. > In addition, we already have most of the stuff available in > karaf-features-core (resource implementation and builder, xml parser). The > only real missing piece is the xml writer. > > I'm not ruling out a rewrite of bundle repository to make it lightweight > though if that can gather a consensus. Once the code is available, it can > be moved back into felix and reused in Karaf. > > > 2015-04-29 18:49 GMT+02:00 David Bosschaert <[email protected]>: > >> The Felix 2.x Bundle Repository is compliant with the OSGi Repository >> spec. What is it that makes it not useful? >> >> On 29 April 2015 at 16:51, Guillaume Nodet <[email protected]> wrote: >> > Currently, cave is using the old 1.6.4 bundle repository, so it does not >> > support the repository spec at all. >> > Unfortunately, even the 2.x branch of bundle repository is not really >> > useful for what I listed above. >> > >> > >> > 2015-04-29 17:31 GMT+02:00 David Bosschaert <[email protected] >> >: >> > >> >> Sounds interesting! Does Cave implement the actual OSGi Repository >> spec? >> >> >> >> Cheers, >> >> >> >> David >> >> >> >> On 29 April 2015 at 16:18, Guillaume Nodet <[email protected]> wrote: >> >> > I've raised a JIRA issue for the integration of Cave and Karaf 4 (see >> >> > KARAF-3712). >> >> > >> >> > I have the following things in mind to integrate Cave into Karaf 4. >> >> > >> >> > When I mean integrating, I mean two things : >> >> > >> >> > - ability to to use osgi repository from cave inside the karaf >> feature >> >> > resolution process (karaf 4 already support external osgi >> >> repositories so >> >> > we're simply missing a compliant repository server) >> >> > - ability to use cave as a maven repository and not only an osgi >> >> > repository (i.e. serve other kind of artifacts with a real maven >> >> layout) >> >> > >> >> > >> >> > It would require the following things : >> >> > >> >> > - upgrade to CXF 3.1 >> >> > - us the spec'ed xml instead of the custom bundle repository xml >> >> format >> >> > (both internally and for external access) >> >> > - provide support for accessing repositories as json based >> repository >> >> as >> >> > read by karaf 4 (see JsonRepository class) >> >> > - support for gzip encoding of the repository in the servlet >> >> > (repositories do compress very well) >> >> > - move the maven proxy support from karaf 4 to cave >> >> > >> >> > I think a good addition would be to provide each repository managed >> by >> >> cave >> >> > as a Repository object instead of relying on the bundle repository >> >> > Repository object which is an aggregation. >> >> > >> >> > I would also get rid of OBR since this is deprecated. >> >> > >> >> > We may also want to get rid of the felix bundle repository >> completely and >> >> > rely on the felix repository and karat-features-core bundle internal >> >> > classes. >> >> > >> >> > Another good improvement for 4.0 would be to make sure the >> repositories >> >> can >> >> > be used with cellar using DOSGi. Using a simple servlet instead of a >> >> full >> >> > war for the cave http servlet would trim down the dependencies a bit >> too >> >> > with no real loss imho. >> >> > >> >> > I'm wiling to experiment a bit with these ideas ... >> >> > >> >> > Thoughts ? >> >> >> > >
