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 3A034200CCB for ; Thu, 20 Jul 2017 16:41:58 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3863F16B70E; Thu, 20 Jul 2017 14:41:58 +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 8328716B70A for ; Thu, 20 Jul 2017 16:41:57 +0200 (CEST) Received: (qmail 11153 invoked by uid 500); 20 Jul 2017 14:41:51 -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 11140 invoked by uid 99); 20 Jul 2017 14:41:50 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Jul 2017 14:41:50 +0000 Received: from v45346.1blu.de (v45346.1blu.de [178.254.23.72]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id CDF041A0029 for ; Thu, 20 Jul 2017 14:41:49 +0000 (UTC) Received: by v45346.1blu.de (Postfix, from userid 1000) id 7B071400058; Thu, 20 Jul 2017 16:41:47 +0200 (CEST) From: Stefan Bodewig To: dev@ant.apache.org Subject: Re: Opportunities for cohesion improvement and refatoring. References: Date: Thu, 20 Jul 2017 16:41:46 +0200 In-Reply-To: (=?utf-8?Q?=22Jo=C3=A3o?= Paulo Lemes Machado"'s message of "Thu, 20 Jul 2017 06:21:21 -0300") Message-ID: <87o9sfw4ph.fsf@v45346.1blu.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable archived-at: Thu, 20 Jul 2017 14:41:58 -0000 Welcome Jo=C3=A3o Paulo On 2017-07-20, Jo=C3=A3o Paulo Lemes Machado wrote: > I was analyzing the modularization of some classes of Ant, and I > identified some opportunities for cohesion improvement in the following > classes: > Javac > Javadoc > FTPTask > FileUtils > AbstractFileSet Similar to what I said about Project in the bugzilla issue you created all these classes are part of Ant's public API and need to be treated with care. Ant has been around for more than fifteen years and an eco system of extensions has ground around it. This is something that forces us to be extra careful with refactoring. Of the classes listed above Javadoc and FTPTask are unlikely to have seen subclasses, Javac may have. FileUtils is unlikely to have seen subclasses as a lot of its code is inside static methods or is accessed via a quasi-singleton. Still, when refactoring non-static public/protected methods you really have to ensure you keep the existing who calls which method semantics that subclasses may rely on. AbstractFileSet is an extremely dangerous one, as it has certainly seen a lot of extensions outside of our control. > TarEntry Is a special case to me. Ant's tar, zip and bzip2 packages have seeded Commons Compress and from time to time I try to backport changes from Compress to Ant - usually only the bugfixes. This may become more difficult when the code bases start to deviate. I'd be interested in hearing what kind of changes you'd like to make, but please take a look at https://git-wip-us.apache.org/repos/asf?p=3Dcommons-compress.git;a=3Dblob;f= =3Dsrc/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.= java ? The class has undergone several changes that haven't been reflected back, maybe it is mostly an issue of backporting those changes? Cheers Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org