Long time user, non-committer chiming in.

1. +1. I’ve got some dev cycles to pitch in on this.

2. Suggest: Add a jsonType field to fully qualify the version of the feature 
file in JSON, since last I checked JSON doesn’t have a standardized namespace 
mechanism (ie. jsonType=“org.apache.karaf.features.v130.Features”). I’ve got 
some dev cycles to pitch in on this.

3. I don’t see an issue w/ having a non-default simple resolver as a 
configurable option

4. +1

5. Override with an env or sys property, or both? I think with the advent of 
containers the preferred resolution order has been flipped from cfg -> sys -> 
env vs env -> sys -> cfg previously. Perhaps an option to set a resolution 
order would be a way to capture all scenarios?

Thanks,
-Matt

> On May 4, 2020, at 12:31 AM, Jean-Baptiste Onofre <j...@nanthrax.net> wrote:
> 
> 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