Return-Path: Delivered-To: apmail-commons-dev-archive@www.apache.org Received: (qmail 69662 invoked from network); 15 Nov 2010 04:07:59 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 15 Nov 2010 04:07:59 -0000 Received: (qmail 25248 invoked by uid 500); 15 Nov 2010 04:08:30 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 25002 invoked by uid 500); 15 Nov 2010 04:08:29 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 24994 invoked by uid 99); 15 Nov 2010 04:08:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Nov 2010 04:08:29 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ralph.goers@dslextreme.com designates 209.85.212.171 as permitted sender) Received: from [209.85.212.171] (HELO mail-px0-f171.google.com) (209.85.212.171) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Nov 2010 04:08:21 +0000 Received: by pxi4 with SMTP id 4so1027575pxi.30 for ; Sun, 14 Nov 2010 20:08:00 -0800 (PST) Received: by 10.142.240.15 with SMTP id n15mr4029712wfh.380.1289794080855; Sun, 14 Nov 2010 20:08:00 -0800 (PST) Received: from [192.168.10.131] (cpe-75-82-178-177.socal.res.rr.com [75.82.178.177]) by mx.google.com with ESMTPS id x35sm8181692wfd.13.2010.11.14.20.07.58 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 14 Nov 2010 20:07:59 -0800 (PST) From: Ralph Goers Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: multipart/alternative; boundary=Apple-Mail-6-101748067 Subject: Re: [VFS] change of package name breaks Gump Date: Sun, 14 Nov 2010 20:07:56 -0800 In-Reply-To: To: "Commons Developers List" References: <775B4F7F-5AF1-4F99-9496-F0D1FB3EE084@dslextreme.com> Message-Id: <4BA0E089-EBBA-4280-9A0A-3A5E5319EBAB@dslextreme.com> X-Mailer: Apple Mail (2.1081) --Apple-Mail-6-101748067 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Nov 14, 2010, at 7:43 PM, sebb wrote: > On 15 November 2010 02:08, Ralph Goers = wrote: >>=20 >> On Nov 14, 2010, at 5:51 PM, sebb wrote: >>=20 >>> On 15 November 2010 01:38, Ralph Goers = wrote: >>>>=20 >>>> On Nov 14, 2010, at 5:34 PM, sebb wrote: >>>>=20 >>>>>=20 >>>>>=20 >>>>> IMO it's important to ensure that the package change really is = necessary. >>>>>=20 >>>>=20 >>>> Somehow I thought that was accomplished by the last release = candidate failing to get the required votes due to the package name not = being changed. If the recommendation had been made to make the API = binary compatible I would have done that instead of going and renaming = the package. I'm getting tired of wasting my time. >>>=20 >>> AIUI, the root cause of the failure was due to the binary = incompatibility. >>>=20 >>> Change of package name is one solution. >>>=20 >>> I don't think it's necessarily the best solution here. >>>=20 >>> It may well turn out to be fairly easy to keep binary compatibility = - >>> or indeed maybe some API breaks are in classes/methods that are not >>> intended for external use. >>=20 >> How do you intend to determine this? >=20 > The Gump tests should help here - if they don't break with the version > pre-package name change then obviously the changed API is not used by > the current set of downstream users. >=20 > However that's just a start. >=20 > There may be other changes that are acceptable breakages, e.g. >=20 > ERROR: 7009: org.apache.commons.vfs.util.UserAuthenticatorUtils: > Accessibility of method 'public UserAuthenticatorUtils()' has been > decreased from public to private >=20 > That should be OK, because the class only has static methods, so > should not be instantiated. >=20 > Seems to me it's a balance between being 100% compatible and forcing > 100% of downstream users to change their code. >=20 > For example, if a public static field represents a constant, but the > final modifier was accidentally omitted. > Adding final will break compatibility, but any code that changes the > constant is wrong and needs to be modified. >=20 > If we manage to end up with a set of "acceptable" API changes, then a > version change is warranted, but I think we don't need to change > package name. >=20 I think I'm going to go crazy soon.=20 On Nov 5 you said to keep the version at 2.0 and the package names the = same. James said not enough changed and the version should be 1.1. On = Nov 7, you posted some output from Clirr that indicated the code is not = binary compatible. Based on that James recommended that the package name = and artifactid be changed. So I changed all that. Now you are saying = the compatibility problem isn't that bad, even though we've now started = changing some of the public APIs to include Java 5 generics. If we change the package name and artifactId back then the version = should also be 1.1. =20 Ralph --Apple-Mail-6-101748067--