Return-Path: X-Original-To: apmail-cxf-dev-archive@www.apache.org Delivered-To: apmail-cxf-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 716631079B for ; Tue, 3 Sep 2013 17:10:43 +0000 (UTC) Received: (qmail 38095 invoked by uid 500); 3 Sep 2013 17:10:41 -0000 Delivered-To: apmail-cxf-dev-archive@cxf.apache.org Received: (qmail 37653 invoked by uid 500); 3 Sep 2013 17:10:38 -0000 Mailing-List: contact dev-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list dev@cxf.apache.org Received: (qmail 37645 invoked by uid 99); 3 Sep 2013 17:10:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Sep 2013 17:10:37 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=T_FRT_LITTLE X-Spam-Check-By: apache.org Received-SPF: error (athena.apache.org: local policy) Received: from [64.85.173.253] (HELO server.dankulp.com) (64.85.173.253) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Sep 2013 17:10:32 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id 940E418595A; Tue, 3 Sep 2013 13:09:51 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter-dev@cxf.apache.org.B2mHk23IQo Received: from macbook.house.dankulp.com (c-24-91-72-253.hsd1.ma.comcast.net [24.91.72.253]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 7FBD7185957 for ; Tue, 3 Sep 2013 13:09:49 -0400 (EDT) From: Daniel Kulp Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: [DISCUSS] Big bundles for 3.0.... Message-Id: Date: Tue, 3 Sep 2013 13:09:48 -0400 To: "dev@cxf.apache.org" Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) X-Mailer: Apple Mail (2.1508) X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, T_FRT_LITTLE shortcircuit=no autolearn=ham version=3.3.2 I'd like to get rid of the 3 big bundles for 3.0 and want to get other's = thoughts=85. Basically, I little history behind them=85.. A long long time ago, we decided to use shade to create a single big jar = that can stick in the "lib" directory of the distribution to reduce the = number of jars in the lib dir and on the classpath. Personally, I = really don't care about the number of jars, (especially considering the = number of 3rd party jars we have in there already) but some people did = so the bundle was created. The individual modules are still part of = the distro in the modules dir, so much of the functionality is in the = distro twice. We already have the "cxf-manifest.jar" jar which pulls = in all the individual jars for javac and runtime so all the little jars = are not required on the classpath to avoid the classpath length limits. =20= Anyway, when we started looking at OSGi, due to all the split-package = issues, we decided the easiest way to support CXF in OSGi was to add the = OSGi metadata to the big jar. Thus, it became an OSGi bundle. When DOSGi came along, we decided the bundle was too big and created the = "minimal" bundle. =20 Likewise, JAX-RS folks wanted a JAX-RS only bundle. Thus, we ended up with 3 big bundles. HOWEVER, a lot has changed since then: 1) For starters, all the split-package things are resolved and each jar = is it's own OSGi bundle. Additionally, many of the bundle have their = own activators and such that do NOT work with the big bundle. The = features.xml and such were all updated to use the little jars. If = using 2.6.x or newer in OSGi, it's strongly recommended to use the = individual bundles as that's all that is tested. =20 2) DOSGi has "grown" and thus the minimal bundle has grown to include = most of the stuff in the "all" bundle. It's really not minimal at all = anymore. If you DO need a minimal CXF environment, you are WAY WAY = better off grabbing the individual jars/bundles you need. You can = create a much smaller set than even the minimal bundle provided. DOSGi = has also changed to using the individual bundles instead of the big = bundle anyway. 3) Likewise with JAX-RS. With the individual jars, you can create a = much more tailored and smaller runtime (especially on 3.0/trunk due to = the dependency cleanups) 4) Services - none of the services (STS, WSN, WS-Discovery, etc=85) are = in the big bundles anyway and thus are stuck as jars in the lib dir. = The XJC runtime and plugins are pulled out as well. =20 5) More people using Maven - with a majority of CXF users likely using = Maven instead of Ant or other tools and Maven handling all the little = jars fairly well, I believe very few people use the big bundles. Anyway, I'd like to go ahead and remove all three of them for 3.0. = It would result in a smaller distribution, the OSGi story is clearer, it = simplifies (and speeds up) the build a little bit, etc=85=20 The downside being a lot of cxf-*.jar's in the distribution's lib = directory. If this is too much of a downside, we could keep the = "all" bundle, but I'd recommend removing all the OSGi stuff from it so = there is no confusion that this is not for OSGi. That said, I just = don't think we need it at all. Thoughts? --=20 Daniel Kulp dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com