On Sat, 2 Nov 2019 at 20:32, Matt Sicker <boa...@gmail.com> wrote:

> The more JDKs you require in the build, the harder it
> is to set up. If you target Java 8 but build at a newer release, you could
> possibly get away with a single JDK plus an API checker to avoid using new
> things.
>

Talking of API checkers, Animal Sniffer README states:

Please note this plugin is now in maintenance level as the exact same
feature can be now easily achieved using the --release flag from Javac

So, it seems it's primarily about defining a Java baseline. If it's set at
8, that's it.
If it's set at the latest-and-greatest, or at the latest LTS version, then
the rules must be devised for handling the code that,
say, peruses JPMS or the HTTP/2 client from Java 11, if Ivy would still be
usable on Java 8 runtime.
AFAICS, Ant is going with ad hoc, and that's partly the reason why e.g.
PR#89 is stuck.

But, what's even more interesting than compiling is running unit tests.
I'm afraid there's no way of avoiding multiple JDKs for that. "Write once,
test everywhere" :-)

Gintas

Reply via email to