Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 3440 invoked from network); 1 Jan 2009 17:16:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Jan 2009 17:16:03 -0000 Received: (qmail 40299 invoked by uid 500); 1 Jan 2009 17:15:56 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 40265 invoked by uid 500); 1 Jan 2009 17:15:56 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 40254 invoked by uid 99); 1 Jan 2009 17:15:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jan 2009 09:15:56 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [193.252.22.156] (HELO smtp3.freeserve.com) (193.252.22.156) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jan 2009 17:15:48 +0000 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf3213.me.freeserve.com (SMTP Server) with ESMTP id 86021700008A for ; Thu, 1 Jan 2009 18:15:21 +0100 (CET) Received: from smtp.homeinbox.net (unknown [91.109.168.164]) by mwinf3213.me.freeserve.com (SMTP Server) with ESMTP id 55D157000089 for ; Thu, 1 Jan 2009 18:15:21 +0100 (CET) X-ME-UUID: 20090101171521351.55D157000089@mwinf3213.me.freeserve.com Received: from localhost (localhost [127.0.0.1]) by smtp.homeinbox.net (Postfix) with ESMTP id 7FC7F1A42F8 for ; Thu, 1 Jan 2009 17:16:44 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at homeinbox.net Received: from smtp.homeinbox.net ([127.0.0.1]) by localhost (server01.dev.local [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a4Oxj4rmrsRr for ; Thu, 1 Jan 2009 17:16:40 +0000 (GMT) Received: from [192.168.0.9] (study03.dev.local [192.168.0.9]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.homeinbox.net (Postfix) with ESMTPSA id DFD8C1A41BB for ; Thu, 1 Jan 2009 17:16:40 +0000 (GMT) Message-ID: <495CFA20.7070404@apache.org> Date: Thu, 01 Jan 2009 17:15:12 +0000 From: Mark Thomas User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: Tomcat Developers List Subject: Re: tcnative API stability/compatibility References: <495CCAD0.9000605@kippdata.de> In-Reply-To: <495CCAD0.9000605@kippdata.de> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Rainer Jung wrote: > Hi, > > we now have tcnative 1.1.x and trunk. What's our goal w.r.t. API stability? My understanding was that trunk was created to introduce APR 1.3 and that the result would be tcnative 1.2.x. > Citing from an earlier thread: >>> > we do have a 1.1.x branch in tcnative which is supposed to be the >>> stable >>> > brach. >> >> Ok. I thought this was still also used in 6.0. OTOH, the library should >> be renamed so that both v1.1 and this new incompatible one could be used >> at the same time, right ? >> >> R�my > > We have native and Java code in tcnative. I guess we are talking here > mainly about the Java side, i.e. the native one is the implementation, > which is only exposed via the Java code and the Java code represents the > API we do make public. > > I expect we want the following situation: > - new methods can be added to tcnative trunk +1 > - old methods are not allowed to be removed either from trunk or from 1.1.x +1 (unless they are deprecated in 1.1.x - then they can go in 1.2.x) > Trunk will most likely result in 1.2.x versions, and code using > tcnative should be able to update from 1.1 to 1.2 without > incompatibilities. +1 Otherwise we would already now decide, that trunk > will become a 2.x. > Methods could get deprecated in trunk though. > Exception: There are some methods which wouldn't have worked any time > in the past, because they refer to native functions that don't exist. I > think it is a good cleanup to remove/rename them now in trunk and 1.1.x. +1 (providing they truly never worked) > Concerning the native side. What is the compatibility goal between the > Java code and the native lib? Do we want to urge each using software to use > > a) exactly the same version of native, than the version of the Java code > b) the same minor version, but patch version greater or equal to the > Java side > c) the same major version and any minor/patch greater or equal ... > > I guess we want a) or b), I think it's to early for c). > > If we go for b) and trunk is for a 1.2.x version, we don't need to > support loading multiple copies of the native library. So I guess, b) is > what we should do? b) seems like a sensible target given I don't know how much work c) would be. Now is probably a good time to extract the native library into a separate component (ie move tomcat/connectors/trunk/jni/native/ to tomcat/native etc) and treat it as an external library rather than using svn externals. ie add tcnative to the list of libs downloaded as part of the build process. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org