Hi guys,

I’m working on several improvements this week where I would need your review 
and thoughts.

1. JAXB remove
We have a JAXB dependency in Karaf core just for the features service. As the 
features model is "static" (we don’t change features model at runtime), I would 
like to remove the JAXB dependency and generate the parser at build time with 
SXC for instance. I will add a build profile to generate the parse when the 
model change (it doesn’t happen very often to be honest).
The purpose is to provide a even lighter Karaf runtime. About that, I would 
like also to promote a bit the minimal distribution and do it even lighter. I 
propose to push minimal as official docker image, allowing people to start from 
minimal to create their own docker image (we will provide improved tools about 
that).

2. Features JSON
As an alternative to features XML repo, I’ve working on features JSON repo. 
It’s similar in term of content, but you will now have the choice between XML 
and JSON.

3. Simple resolver
Several users complained about the features resolver: it might be seen as 
complex (you have to understand req/caps, etc), it’s not always predictable 
(due to refresh with optional import, etc). I would like to propose an 
alternative: the simple resolver. It’s pretty simple: it just takes what you 
have in features definition. It’s an optional resolver, meaning that the 
default will be still the regular resolver. The simple resolver can be enabled 
in etc/org.apache.karaf.features.cfg.

4. Spec features and cleanup
As already discussed, I would like to remove the lib/jdk9plus folder and all 
spec packages from etc/jre.properties to use spec features instead.
That will give us more control in the specs version and support of JDK.

5. ConfigAdmin persistence repository overwrite with env var
It will be possible now to overwrite configuration with env var. For instance, 
if you have a property foo in my.config pid, you will be able to overwrite this 
property with -Dmy.config:foo=bar at bootstrap.

If you agree, I would like to include those improvements in coming release 
(4.2.9 and 4.3.0.RC2).

Regards
JB


Reply via email to