That’s the idea: the resolution should be performed at build time, and the same 
resolution should happen at runtime. It’s not always the case.

Anyway, as we don’t have a consensus, I’m moving back on the resolver.

Instead I’m working on:

1. Improve log message for runtime resolution
2. Improve build tool (part of devx) for build time resolution

Regards
JB

> Le 6 mai 2020 à 09:05, Guillaume Nodet <gno...@apache.org> a écrit :
> 
> The resolver pain can be absorbed at build time when building the assembly
> if the target is a micro-service.
> The maven plugin can easily be used to build a customized distribution,
> totally removing the need for the resolver at runtime.
> You were thinking to fill a gap between the dynamic/standard and the static
> distributions ? I'm not yet convinced there's a real gap between those 2
> scenarii.
> 
> Guillaume
> 
> Le mer. 6 mai 2020 à 06:59, Jean-Baptiste Onofre <j...@nanthrax.net> a écrit :
> 
>> The problem is that regular resolver makes sense for "dynamic/standard"
>> distribution, but very painful for "cloud/light/straight" runtime.
>> 
>> The proposal is to have a lighter version of the resolver to be faster and
>> predictable.
>> 
>> Regards
>> JB
>> 
>>> Le 5 mai 2020 à 11:50, Achim Nierbeck <bcanh...@googlemail.com.INVALID>
>> a écrit :
>>> 
>>> +1 for most.
>>> only objection to the "Simple" Resolver, therefore -1 on that.
>>> I fear we do more harm then improvement.
>>> As Grzegorz already said, it's the way it is, not because we love complex
>>> stuff, but because bundle resolving is complex.
>>> Especially due to the new req/cap inside bundles.
>>> Actually to work around some of the "crappy" req/cap with bundles, with
>>> features did help in the past.
>>> 
>>> regards, Achim
>>> 
>>> 
>>> Am Mo., 4. Mai 2020 um 09:44 Uhr schrieb Francois Papon <
>>> francois.pa...@openobject.fr>:
>>> 
>>>> +1 for all
>>>> 
>>>> regards,
>>>> 
>>>> François
>>>> fpa...@apache.org
>>>> 
>>>> Le 04/05/2020 à 09:26, Grzegorz Grzybek a écrit :
>>>>> Hello
>>>>> 
>>>>> ad1) About JAXB. Currently,
>>>>> `org.apache.karaf.features.internal.model.processing` package contains
>>>> not
>>>>> that complex model for "Feature override and blacklisting", which reads
>>>>> etc/org.apache.karaf.features.xml file to _alter_ features model using
>>>>> `org.apache.karaf.features.internal.service.FeaturesProcessor`.
>>>>> Nothing that can't be done without JAXB. But I'd have to rewrite some
>>>> code
>>>>> to use StAX/SAX instead.
>>>>> 
>>>>> ad2) as long as the _model_ read from JSON feature files is still
>> rooted
>>>> at
>>>>> org.apache.karaf.features.internal.model.Features class, it's fine wrt
>>>>> _feature processing_ ;)
>>>>> 
>>>>> ad3) +1 for simpler resolver. But I remember it's complex not for the
>>>> sake
>>>>> of complexity, but due to complexity of bundle model and reqs/caps
>>>> model. I
>>>>> have a _strange case_ in
>>>>> https://github.com/apache/karaf/commits/ggrzybek-conditionals, where
>>>>> resolution depends on whether (or not) a feature is in
>>>>> <conditional>/<condition>.
>>>>> 
>>>>> ad4) +1
>>>>> 
>>>>> ad5) +2
>>>>> 
>>>>> regards
>>>>> Grzegorz Grzybek
>>>>> 
>>>>> pon., 4 maj 2020 o 07:30 Jean-Baptiste Onofre <j...@nanthrax.net>
>>>> napisał(a):
>>>>> 
>>>>>> 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
>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> 
>>> Apache Member
>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
>> &
>>> Project Lead
>>> blog <http://notizblog.nierbeck.de/>
>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>> 
>> 
> 
> -- 
> ------------------------
> Guillaume Nodet

Reply via email to