Return-Path: X-Original-To: apmail-hc-dev-archive@www.apache.org Delivered-To: apmail-hc-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 313641768F for ; Thu, 23 Oct 2014 08:42:34 +0000 (UTC) Received: (qmail 89269 invoked by uid 500); 23 Oct 2014 08:42:34 -0000 Delivered-To: apmail-hc-dev-archive@hc.apache.org Received: (qmail 89166 invoked by uid 500); 23 Oct 2014 08:42:34 -0000 Mailing-List: contact dev-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list dev@hc.apache.org Received: (qmail 88646 invoked by uid 99); 23 Oct 2014 08:42:33 -0000 Received: from ec2-54-76-25-247.eu-west-1.compute.amazonaws.com (HELO mx1-eu-west.apache.org) (54.76.25.247) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Oct 2014 08:42:33 +0000 Received: from mx1-eu-west.apache.org (localhost [127.0.0.1]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTP id 0FD9D20185 for ; Thu, 23 Oct 2014 08:42:32 +0000 (UTC) Received: by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org, from userid 113) id 0563B26E0E; Thu, 23 Oct 2014 08:42:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mx1-eu-west.apache.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=10.0 tests=HTML_MESSAGE, RCVD_IN_DNSWL_HI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD autolearn=disabled version=3.4.0 Received: from e8.ny.us.ibm.com (e8.ny.us.ibm.com [32.97.182.138]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 7C87320185 for ; Thu, 23 Oct 2014 08:42:31 +0000 (UTC) Received: from /spool/local by e8.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 23 Oct 2014 04:42:30 -0400 Received: from d01dlp02.pok.ibm.com (9.56.250.167) by e8.ny.us.ibm.com (192.168.1.108) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 23 Oct 2014 04:42:29 -0400 Received: from b01cxnp22034.gho.pok.ibm.com (b01cxnp22034.gho.pok.ibm.com [9.57.198.24]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id 91A736E803F for ; Thu, 23 Oct 2014 04:31:12 -0400 (EDT) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by b01cxnp22034.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id s9N8gSZY61079718 for ; Thu, 23 Oct 2014 08:42:28 GMT Received: from d01av03.pok.ibm.com (localhost [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s9N8gSOC018272 for ; Thu, 23 Oct 2014 04:42:28 -0400 Received: from [9.49.140.21] (sig-9-49-140-21.mts.ibm.com [9.49.140.21]) by d01av03.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s9N8gRZH018238 for ; Thu, 23 Oct 2014 04:42:28 -0400 Message-ID: <5448BF73.7070804@linux.vnet.ibm.com> Date: Thu, 23 Oct 2014 04:42:27 -0400 From: David Williams User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: dev@hc.apache.org Subject: Question/Suggestion on your OSGi bundles Content-Type: multipart/alternative; boundary="------------080908060705090804020400" X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14102308-0029-0000-0000-000000D96244 X-Virus-Scanned: ClamAV using ClamSMTP --------------080908060705090804020400 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Greetings, I work on the Orbit project at Eclipse, where we make "OSGi bundles" from "third party" software. And, I've noticed, you yourselves have started to provide OSGi bundles on your download page -- so that's good! :) But, you do them a differently than we would in Orbit, or Eclipse, so thought I'd ask if there is a reason for it, and/or suggest a different approach. I first looked at your OSGi bundle for 4.3.5 and was surprised to see it literally contain all the "prereqs" it needed, including "httpcore", commons-logging, commons-codec, ... ). Ordinarily we (at Eclipse) would simply have the OSGi bundle for "httpclient" "import package" or "require bundle" for it's pre-reqs, but leave the code separate. Then some other layer would be responsible for "collecting" what is needed. In our (Eclipse) case, we use often use "features", but I understand not everyone does, but seems to me, it'd be better to provide a new bundle, maybe called "httpclient.collection" or something, if that is the way you wanted to "distribute everything needed". For Eclipse, we would not even *have* to use features for a case like this since installers, such as p2, will "install" what ever the httpclient needs, as long as it's in a reachable repository. I was especially motivated to write this note after seeing you just come out with a new version of httpcore (4.3.3) and make me wonder ... are those fixes included in httpclient 4.3.5, or will there now have to be a new client at version 4.3.6, just to include the new 4.3.3 core? (And, I think the answer is "yes" -- though, I see from some JIRA entries, there may be other reasons to have a 4.3.6 -- but, some of those are in part related to this very issue I am writing about). It seems to me to be a better "component model" to leave your OSGi bundles seperate, and then would "match" your "Java jars" in terms of content (only adding the OSGi required stuff) and then control the packaging in some other way -- features, or installers that understood OSGi required items, etc. -- and either leave that up to the consumer to do, or if you really wanted to provide "one bundle with everything" to create a new bundle, called "collection" or similar. I know we (Eclipse) are only one case but we would not need that "collection" bundle. We'd just need the pieces. Given all that, is there a reason you do your bundles the way you do, that I am just not aware of? Or is there any merit to my suggestion? Thanks, --------------080908060705090804020400--