Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 35A88200D2E for ; Tue, 31 Oct 2017 13:49:22 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 342E01609EC; Tue, 31 Oct 2017 12:49:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7812C1609EB for ; Tue, 31 Oct 2017 13:49:21 +0100 (CET) Received: (qmail 49407 invoked by uid 500); 31 Oct 2017 12:49:20 -0000 Mailing-List: contact dev-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list dev@karaf.apache.org Received: (qmail 49395 invoked by uid 99); 31 Oct 2017 12:49:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Oct 2017 12:49:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 99D421A35C1 for ; Tue, 31 Oct 2017 12:49:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.3 X-Spam-Level: ** X-Spam-Status: No, score=2.3 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id POpXr-2wsgku for ; Tue, 31 Oct 2017 12:49:17 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id CFF005F29A for ; Tue, 31 Oct 2017 12:49:16 +0000 (UTC) X-Originating-IP: 80.215.231.244 Received: from [10.62.138.130] (unknown [80.215.231.244]) (Authenticated sender: jb@nanthrax.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 300F041C093 for ; Tue, 31 Oct 2017 13:49:07 +0100 (CET) In-Reply-To: References: X-Referenced-Uid: 1460963 Thread-Topic: Re: Integrating "overrides" and "blacklisting" for repositories, features and bundles User-Agent: Android MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----JZDQHQGQ3ID2SP5ZBF483JJOTJDW25" Content-Transfer-Encoding: 7bit Subject: Re: Integrating "overrides" and "blacklisting" for repositories, features and bundles From: =?ISO-8859-1?Q?Jean-Baptiste_Onofr=E9?= Date: Tue, 31 Oct 2017 13:49:00 +0100 To: dev@karaf.apache.org Message-ID: <1e8d0ed0-ddc8-4f87-a1be-26d15be2263d@nanthrax.net> archived-at: Tue, 31 Oct 2017 12:49:22 -0000 ------JZDQHQGQ3ID2SP5ZBF483JJOTJDW25 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Hi Greg Thanks for the update=2E I'm in vacation this week=2E I will ping = you as soon as I will be back=2E Regards JB On Oct 31, 2017, 12:52, at 12= :52, Grzegorz Grzybek wrote: >@JBO sure > >I'm o= n IRC Mon-Fri ;) > >I'm not going to force my idea=2E The reasoning behind = this is my >experience >when trying to align feature/bundle versions from C= XF, Camel, ActiveMQ, >hawtio, fabric8, switchyard, PAX (Web, CDI, JDBC, JMS= ), JClouds, >Hibernate=2E=2E=2E=2E In most cases, "" helps, but >it's >not always a case=2E Having 6 different scala-libr= ary bundles or shipping >8 >different guava bundles in a distro wasn't nice= =2E=2E=2E > >This is not going to be "user friendly" tool, it's rather aime= d for >distro >creators, where you want to control more aspects of versions= without >having >to fork=2E > >best regards >Grzegorz Grzybek > > >2017-10= -31 12:37 GMT+01:00 Jean-Baptiste Onofr=C3=A9 : > >> Hi = >> >> From a quick glance, it sounds good to me=2E However I would like to = >take a >> deeper look and discuss with you about that=2E >> >> Regards >> = JB >> >> On Oct 30, 2017, 15:09, at 15:09, Grzegorz Grzybek > >> wrote: >> >Hello >> > >> >Continuing my investigation of Pr= ocessor mechanism for feature >> >definitions >> >(a=2Ek=2Ea=2E "better ove= rrides")[1], I want to give you insight to what I >> >plan >> >to change in= Karaf's FeatureService=2E >> > >> >Currently we have two separate mechanis= ms: >> > >> >"blacklisting": >> > - may remove bundles from feature at feat= ures XML load time >> > - may remove features from repository at features X= ML load time >> >- may skip adding/analyzing features XML at >karaf-maven-p= lugin:assembly >> >invocation time >> > - doesn't prevent given features XM= L to be added later >> >- clears runtime information about blacklisted feat= ures/bundles - we >> >can't >> >query for blacklisted features or see (in `= feature:list`) which >> >features >> >were blacklisted >> > >> >"overrides"= : >> >- may replace G:A:V of some bundle with another G:A:V2 when >download= ing >> >bundles of a feature >> > - doesn't allow to change G:A:V into diff= erent G2:A2:V2 (e=2Eg=2E, >> >"mvn:org=2Eeclipse=2Ejetty=2Eorbit/javax=2Ese= rvlet/3=2E0=2E0=2Ev201112011016" =E2=86=92 >> >"mvn:org=2Eapache=2Egeronimo= =2Especs/geronimo-servlet_3=2E0_spec/1=2E0") >> > - 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 - b= ut it's a problem more often than >> >we'd >> >want) >> > >> >What I'm work= ing on (till you tell me we don't need it), is better >> >separation of con= cerns=2E I assume that feature XML files are loaded >in >> >one >> >place (= JAXB) and then may be further processed (which involves >> >blacklisting, o= verriding and altering of entire features) before >> >they're >> >actually = used by FeaturesService=2E >> > >> >Currently org=2Eapache=2Ekaraf=2Efeatur= es=2Einternal=2Eservice=2ERepositoryCache >> >class >> >holds JAXB model an= d uses >> >org=2Eapache=2Ekaraf=2Efeatures=2Einternal=2Eservice=2EBlacklist= class to alter >(to >> >some degree) it=2E >> >I want to integrate "Blackl= ist" class into more generic >> >org=2Eapache=2Ekaraf=2Efeatures=2Einternal= =2Eservice=2EFeaturesProcessor >interface=2E >> > >> >Repository, Feature a= nd BundleInfo classes will have >"isBlacklisted()" >> >method for diagnosti= c purposes=2E Blacklisted items are not simply >> >removed, >> >but can't b= e used to alter runtime (State)=2E >> > >> >I want to be as much consistent= between FeaturesService (dynamic >> >aspect) >> >and karaf-maven-plugin:as= sembly (static aspect) as possible=2E Maven >> >goal's >> >configuration wi= ll be used to generate special (new?) file in etc/ >of >> >the >> >distro a= nd then used at runtime=2E >> > >> >As the area I'm playing with is very fr= agile, it's slower (than I >want) >> >process=2E I'll continue my work, but= I welcome any comments if I >attempt >> >something silly=2E >> > >> >regar= ds >> >Grzegorz Grzybek >> >=3D=3D=3D >> >[1]: https://issues=2Eapache=2Eor= g/jira/browse/KARAF-5376 >> ------JZDQHQGQ3ID2SP5ZBF483JJOTJDW25--