2018-02-06 11:05 GMT+01:00 Stefan Bodewig <bode...@apache.org>:

> 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?
>

Anything on the CLASSPATH is in the unnamed module.
The worst that can happen is the situation where a package split between
module path and classpath.
That's what --patch-module is for.


> 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.
>

Modules is the way to take back control. There are switches in Java 9 to
enable access.
We should rather be doing now when JRE is still lenient. Who knows what to
expect from Java 11 LTS (6 months from now)?

Gintas

Reply via email to