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 4CE46200C0C for ; Mon, 30 Jan 2017 12:57:18 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 4B7A1160B4D; Mon, 30 Jan 2017 11:57:18 +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 945EF160B41 for ; Mon, 30 Jan 2017 12:57:17 +0100 (CET) Received: (qmail 85200 invoked by uid 500); 30 Jan 2017 11:57:16 -0000 Mailing-List: contact dev-help@servicemix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@servicemix.apache.org Delivered-To: mailing list dev@servicemix.apache.org Received: (qmail 85189 invoked by uid 99); 30 Jan 2017 11:57:16 -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; Mon, 30 Jan 2017 11:57:16 +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 9987D1A046C for ; Mon, 30 Jan 2017 11:57:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.3 X-Spam-Level: X-Spam-Status: No, score=0.3 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id owZlETaZtnl6 for ; Mon, 30 Jan 2017 11:57:14 +0000 (UTC) Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 82D3F5F253 for ; Mon, 30 Jan 2017 11:57:13 +0000 (UTC) Received: from mfilter1-d.gandi.net (mfilter1-d.gandi.net [217.70.178.130]) by relay6-d.mail.gandi.net (Postfix) with ESMTP id 13D81FB87D; Mon, 30 Jan 2017 12:57:13 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter1-d.gandi.net Received: from relay6-d.mail.gandi.net ([IPv6:::ffff:217.70.183.198]) by mfilter1-d.gandi.net (mfilter1-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 6Rg-AQyJAwWf; Mon, 30 Jan 2017 12:57:11 +0100 (CET) X-Originating-IP: 82.238.224.4 Received: from [192.168.134.19] (bre91-1-82-238-224-4.fbx.proxad.net [82.238.224.4]) (Authenticated sender: jb@nanthrax.net) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 23083FB8BC; Mon, 30 Jan 2017 12:57:10 +0100 (CET) Subject: Re: [Discuss] Create one karaf feature repo per spring version in servicemix bundles To: dev@servicemix.apache.org, Karaf Dev References: <03842715-5ee1-380d-57d0-3ce7ebbfab11@die-schneider.net> From: =?UTF-8?Q?Jean-Baptiste_Onofr=c3=a9?= Message-ID: Date: Mon, 30 Jan 2017 12:57:10 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <03842715-5ee1-380d-57d0-3ce7ebbfab11@die-schneider.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit archived-at: Mon, 30 Jan 2017 11:57:18 -0000 Hi Christian, adding the Karaf dev mailing list in copy. I agree with the proposal. Now, SMX Bundles are supposed to contain only OSGi bundle wrapper for non OSGi libaries (and jar generally speaking). As it's where we provide Spring bundles, it would be logic to have the corresponding feature, however, I see two issues: 1. It means that SMX Bundles will contain more than just bundle, it will also provide features. It would be weird for users to have a feature in mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring/4.3.5.RELEASE_1/xml/features URL for instance. 2. It means we will have one feature module for each sub-spring version: for instance 4.3.5_1 and 4.3.5_2. It's not a big deal because it happens rarely, but it happened already. If you take a look on Cave README, you will see: "Apache Karaf Cave is an Apache Karaf subproject. It provides an OSGi Bundle Repository (OBR) and Karaf Features Repository (KFR)." The purpose of a Karaf Features Repository (KFR) is to host non core Karaf features, not in other project. So, instead of org.apache.servicemix.bundles, where the Spring bundles will stay, I would propose a org.apache.servicemix.features, acting as a repository, wrapping different features. We would have: - org.apache.servicemix.features/spring - org.apache.Servicemix.features/directory - ... Each SMX features would have its own release cycle, and can have branches for the different versions. Regards JB On 01/30/2017 12:09 PM, Christian Schneider wrote: > Hi all, > > we are currently trying to make Apache Karaf slimmer for the version 4.1.0. > > In previous karaf versions we had different spring versions in the karaf > spring feature repo. This posed two problems: > 1. The karaf resolver always has to work on all provided spring versions > which increased the chance a wrong one is picked > 2. Karaf can not provide all bugfix versions of spring. So each karaf > version comes with a different set. So for a user the upgrade means the > spring version > changes and he can not upgrade the bugfix version while keeping the > karaf version. > > So starting with karaf 4.1.0 we split the spring feature repos into the > most current version (currently 4.3.5) which is installed by default and > a spring-legacy feature repo with the older versions. This fixes problem > 1 but also causes problems for some existing features like the activemq > 5.14.3 one that requires spring 3. > > So a better fix would be to provide one feature repo per spring version > and let the 3rd party feature add this to its feature using the > repository tag. So only the needed spring version is provided and the > maintainer of the 3rd party repo can freely decide which to use. > > The problem with this is that karaf is not a good place to provide the > feature repos as we release all of karaf together in one version. > > So I think servicemix bundles would be a good place to put these feature > repos into. The source repo already provides the spring bundles for each > version and I think the feature repo would fit nicely into this structure. > > If the activemq community likes the idea I will provide pull requests > for the spring versions we currently use in karaf. > > Christian > -- Jean-Baptiste Onofré jbonofre@apache.org http://blog.nanthrax.net Talend - http://www.talend.com