ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gintautas Grigelionis <g.grigelio...@gmail.com>
Subject Re: Opportunities for cohesion improvement and refatoring.
Date Thu, 20 Jul 2017 17:00:51 GMT
I looked at Project proposal [1].
I would suggest running the refactored Ant through japicmp [2] or revapi
[3] and examining the binary incompatibilities.

Gintas

[1] https://bz.apache.org/bugzilla/show_bug.cgi?id=61305
[2] http://siom79.github.io/japicmp/
[3] http://revapi.org/

2017-07-20 16:41 GMT+02:00 Stefan Bodewig <bodewig@apache.org>:

> Welcome João Paulo
>
> On 2017-07-20, João 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=commons-compress.
> git;a=blob;f=src/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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message