ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <>
Subject Re: ant git commit: Generate manifest files and add automatic module names for JPMS
Date Tue, 06 Feb 2018 10:05:17 GMT
On 2018-02-05, Gintautas Grigelionis wrote:

> I adjusted the proposal and I hope that I addressed your criticism.

Unfortunately it doesn't.

I'm afraid that we would be sending a wrong signal here. On top of that
I don't think Ant would actually work if parts of it are used as
modules. We use classloaders and Class.forName all over the place, not
ServiceLoader, for example.

If the taskdef/typedef implementation classes are loaded via a module
path and a custom task lives on the CLASSPATH will taskdef be able to
load it at all?

Without really having tried a setup of some of our jars coming from a
module loader and the rest living on a CLASSPATH and trying out all the
different scenarios of custom tasks/types/loggers, taking into account
classes that do something like

public void add(SomeInterface foo) { ,,, }

in order to allow any typedeffed implementation of the interface to be
used as a nested child element and all the other edge cases, I wouldn't
want to send the slightest signal that Ant was supporting the module
system in any way. It simply has been designed for a classloader world
and heavily relies on it.

As for moving classes and adding stubs for backwards compatibility -
let's please evaluate what we'd gain with such a move.

Ant is used as a code dependency by way more things than we know. We do
know Gradle and SBT directly call into Ant classes under the
covers. Lots and lots of custom tasks have been written that rely on our
API. If you use some kind of Maven antrun construct then moving classes
around and adding a new jar means you have to add a new dependency when
you want to upgrade to a new version. This is inconvenient and may turn
out to cause difficult to diagnose problems.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message