karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: Integrating "overrides" and "blacklisting" for repositories, features and bundles
Date Tue, 31 Oct 2017 11:37:30 GMT

>From a quick glance, it sounds good to me. However I would like to take a deeper look
and discuss with you about that.


On Oct 30, 2017, 15:09, at 15:09, Grzegorz Grzybek <gr.grzybek@gmail.com> wrote:
>Continuing my investigation of Processor mechanism for feature
>(a.k.a. "better overrides")[1], I want to give you insight to what I
>to change in Karaf's FeatureService.
>Currently we have two separate mechanisms:
> - may remove bundles from feature at features XML load time
> - may remove features from repository at features XML load time
>- may skip adding/analyzing features XML at karaf-maven-plugin:assembly
>invocation time
> - doesn't prevent given features XML to be added later
>- clears runtime information about blacklisted features/bundles - we
>query for blacklisted features or see (in `feature:list`) which
>were blacklisted
>- may replace G:A:V of some bundle with another G:A:V2 when downloading
>bundles of a feature
> - doesn't allow to change G:A:V into different G2:A2:V2 (e.g.,
>"mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016" →
> - doesn't allow to change "dependency" flag on given bundle
> - doesn't allow to add bundles to a feature (assuming we "know better"
>than original feature's author - but it's a problem more often than
>What I'm working on (till you tell me we don't need it), is better
>separation of concerns. I assume that feature XML files are loaded in
>place (JAXB) and then may be further processed (which involves
>blacklisting, overriding and altering of entire features) before
>actually used by FeaturesService.
>Currently org.apache.karaf.features.internal.service.RepositoryCache
>holds JAXB model and uses
>org.apache.karaf.features.internal.service.Blacklist class to alter (to
>some degree) it.
>I want to integrate "Blacklist" class into more generic
>org.apache.karaf.features.internal.service.FeaturesProcessor interface.
>Repository, Feature and BundleInfo classes will have "isBlacklisted()"
>method for diagnostic purposes. Blacklisted items are not simply
>but can't be used to alter runtime (State).
>I want to be as much consistent between FeaturesService (dynamic
>and karaf-maven-plugin:assembly (static aspect) as possible. Maven
>configuration will be used to generate special (new?) file in etc/ of
>distro and then used at runtime.
>As the area I'm playing with is very fragile, it's slower (than I want)
>process. I'll continue my work, but I welcome any comments if I attempt
>something silly.
>Grzegorz Grzybek
>[1]: https://issues.apache.org/jira/browse/KARAF-5376

  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message