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 C8967200C84 for ; Mon, 29 May 2017 17:26:46 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C73F9160BCE; Mon, 29 May 2017 15:26:46 +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 E9F7E160BC2 for ; Mon, 29 May 2017 17:26:45 +0200 (CEST) Received: (qmail 55932 invoked by uid 500); 29 May 2017 15:26:45 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 55920 invoked by uid 99); 29 May 2017 15:26:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 May 2017 15:26:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 617AEC061B for ; Mon, 29 May 2017 15:26:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.379 X-Spam-Level: *** X-Spam-Status: No, score=3.379 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_REPLY=1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id cjUn5kO2PRqe for ; Mon, 29 May 2017 15:26:42 +0000 (UTC) Received: from mail-lf0-f44.google.com (mail-lf0-f44.google.com [209.85.215.44]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 852355F3F5 for ; Mon, 29 May 2017 15:26:41 +0000 (UTC) Received: by mail-lf0-f44.google.com with SMTP id m18so36414131lfj.0 for ; Mon, 29 May 2017 08:26:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=o2brWPJzI4vUY0Md/0mUiaF8vdaNGZXzUAbfZa0Ptd0=; b=O+sXxDPyI/vROkNSazXDUy5OdClTuvSMpYoGUYP/GeAhJLNACN7b2Fa+Hk4zONnFMu S+oOxkv4ffIJjbO29sP6EFY0buJpy0BkWmH/5fU6/u0WQrjO+HrZBjb4PUhLT8iL05HF mKBtimtQuQNEMrnSlRkHfqwDF9b0dDXRQrdj3YCsnQIGhdPt7JdyOu1kNjDTqOYdL3XX 2x7Wv3XNmRvVfITFmjUGO+hQXWWsFA+8b/BguB9MDiJkeuR54S806MPEX9QTN4GtwhIG whDvtAw6j0fYwxlMZ14TiBuIM+gVC6uPZlzPAZzsuoGxSwy917Go3tm3c8vPKWPbXH0w IA4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=o2brWPJzI4vUY0Md/0mUiaF8vdaNGZXzUAbfZa0Ptd0=; b=ZG3WYmeF79/nD9f2cDa97KxOnV6AOiNL3sZ+uPoVDNloO1q5D10VYjwrvBPSLJAysQ H3YOPIwUKrTx0gbJv5kLtVVxWKvYiFidI722AQ96XkwZ5eJnLGsDuVYC9puHGmiFwXUN x1p8245tGVHCgwVywyDdx/7rYY0IZgNvvtbpB0SV4nDWYKMmQBTdsKpNjzE3V02HPKbI sYDCCMYfUH/44uJKS+Tq31T17vUF4L4iBghvnupbXeC22VEjYAbXRcKDXuTno0MSAZkV P8HlKCOAzEhXTf6cDXQ5sBne5XK6oX74g/RtwFWAuPPICjRnHlfrIxhkEHjYtts94y+t 3dnw== X-Gm-Message-State: AODbwcCo3mJ2VFNFYtEYdGzSigzyT3MB0KoHrfggREIlErdkewCxgyj2 FcV6LBU611UDLElQw5IQGBUGhVs4Lg== X-Received: by 10.25.159.142 with SMTP id i136mr4109181lfe.151.1496071599864; Mon, 29 May 2017 08:26:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.37.129 with HTTP; Mon, 29 May 2017 08:26:39 -0700 (PDT) In-Reply-To: <1497A08C-E12E-490F-B5E0-EF56FAE1E046@hibnet.org> References: <001b01d2d853$6b7ac9a0$42705ce0$@de> <260C6FFD-2382-44CD-AFB0-06AF0F7A8B7F@gmail.com> <003d01d2d860$84d88c90$8e89a5b0$@de> <1497A08C-E12E-490F-B5E0-EF56FAE1E046@hibnet.org> From: Matt Sicker Date: Mon, 29 May 2017 10:26:39 -0500 Message-ID: Subject: Re: PR-33: problems To: Ant Developers List Content-Type: multipart/alternative; boundary="001a1141130844c6190550ab506e" archived-at: Mon, 29 May 2017 15:26:47 -0000 --001a1141130844c6190550ab506e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Removing a checked exception can affect source compatibility, for example, if that particular exception is caught in a try block and nothing else in the try block can throw the exception. Or at least that's how I remember it I think. On 29 May 2017 at 06:05, Nicolas Lalev=C3=A9e = wrote: > > > Le 29 mai 2017 =C3=A0 11:46, Jan Mat=C3=A8rne (jhm) = a =C3=A9crit : > > > > Sounds like I would do ;) > > I'll merge the PR locally and insert the delegates. > > > > Open is > > "src/java/org/apache/ivy/osgi/util/Version.java: > > the constructor removes the (IMO unneccessary) ParseException. > > But because it is a checked Exception we break BC." > > > > https://wiki.eclipse.org/Evolving_Java-based_APIs_2 defines the removal > of a checked exception: > > "Breaks compatibility" > > "Adding and deleting checked exceptions declared as thrown by an API > method > > does not break binary compatibility; however, > > it breaks contract compatibility (and source code compatibility)." > > > > What do we want? > > Thanks for the link, I=E2=80=99ll bookmark it. > > Then I am OK with that. The Ivy jar can still be a upgraded without > worries, and if somebody compile against it, then he has the source so he > can modify them. > > I am OK with that also because having stricter compatibility rules will b= e > painful considering the wide API Ivy is exposing. > > Nicolas > > > > > > > > > Jan > > > >> -----Urspr=C3=BCngliche Nachricht----- > >> Von: J Pai [mailto:jai.forums2013@gmail.com] > >> Gesendet: Montag, 29. Mai 2017 10:26 > >> An: Ant Developers List > >> Betreff: Re: PR-33: problems > >> > >> IMO, for each of these public classes/methods/fields that we are fixin= g > >> for typos, we should mark them @Deprecated (and add a @deprecated > >> javadoc too and point to the new field/method/class) and introduce the > >> rightly named class/method/field. For methods it=E2=80=99s straightfor= ward, the > >> deprecated method internally calls the new method. For fields too it= =E2=80=99s > >> straightforward. The deprecated field uses the value of the new field. > >> For classes, I think we can copy over the existing class into the new > >> one and leave around the existing one just for possible external > >> references (that we can=E2=80=99t control off) and migrate all interna= l > >> references to the new one. > >> > >> At some point, in some future version of Ivy, we remove/delete these > >> deprecated method/field/class. > >> > >> > >> -Jaikiran > >> > >> > >> On 29-May-2017, at 1:43 PM, Jan Mat=C3=A8rne wrote: > >> > >> I did a review of > >> https://github.com/apache/ant-ivy/pull/33 > >> > >> Here are the points I have problems with, so I want to discuss them > >> here. > >> > >> Basically it's about breaking BC. So how to deal with that? > >> > >> > >> > >> > >> > >> Jan > >> > >> > >> > >> > >> > >> Fixing the spell error in DelegateHandler$ChildElementHandler > >> (s/childHanlded/childHandled/) means breaking beakward compatiblity. > >> > >> We could introduce a delegetate for that: > >> > >> /** for BC */ > >> > >> @Deprecated > >> > >> public void childHanlded(DH child) throws SAXParseException { > >> > >> childHandled(DH child); > >> > >> } > >> > >> While refactoring you have renamed all occurences in the Ivy codebase. > >> > >> On the other hand I don't know the impact (maybe outside of Ivy). I'll > >> bring that to the dev-list. > >> > >> > >> > >> > >> > >> src/java/org/apache/ivy/osgi/repo/FSManifestIterable.java: renaming th= e > >> public constant DEFAULT_BUNLDE_FILTER also means breaking BC. > >> > >> > >> > >> > >> > >> src/java/org/apache/ivy/osgi/util/Version.java: the constructor remove= s > >> the (IMO unneccessary) ParseException. But because it is a checked > >> Exception we break BC. > >> > >> > >> > >> > >> > >> renaming EncrytedProperties to EncryptedProperties means breaking BC. > >> If required we could introduce a delegating class or a subclass. > >> > >> > >> > >> > >> > >> ArtifactOrigin: renaming unkwnown() to unknown() means breaking BC. If > >> required we could introduce a delegating method. > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional > >> commands, e-mail: dev-help@ant.apache.org > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > > For additional commands, e-mail: dev-help@ant.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > For additional commands, e-mail: dev-help@ant.apache.org > > --=20 Matt Sicker --001a1141130844c6190550ab506e--