You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Jaikiran Pai <ja...@apache.org> on 2019/11/02 03:33:53 UTC

Re: Next plans for Ivy

Hello Matt,

On 31/10/19 2:34 AM, Matt Sicker wrote:
> Java 9 and beyond can be handled with version specific code in META-INF.

I think we should be able to do that even now. Of course, _building_ Ivy
would need higher version of Java (to use those specific APIs) but once
built, we can package these higher version classes within the META-INF
structure and that should get picked up if someone uses Ivy in a higher
version of Java and at the same time shouldn't impact Java 8 usage.

-Jaikiran

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Next plans for Ivy

Posted by Gintautas Grigelionis <g....@gmail.com>.
On Sat, 2 Nov 2019 at 20:32, Matt Sicker <bo...@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

Re: Next plans for Ivy

Posted by Matt Sicker <bo...@gmail.com>.
Right, that’s true. 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.

On Fri, Nov 1, 2019 at 22:33 Jaikiran Pai <ja...@apache.org> wrote:

> Hello Matt,
>
> On 31/10/19 2:34 AM, Matt Sicker wrote:
> > Java 9 and beyond can be handled with version specific code in META-INF.
>
> I think we should be able to do that even now. Of course, _building_ Ivy
> would need higher version of Java (to use those specific APIs) but once
> built, we can package these higher version classes within the META-INF
> structure and that should get picked up if someone uses Ivy in a higher
> version of Java and at the same time shouldn't impact Java 8 usage.
>
> -Jaikiran
>
-- 
Matt Sicker <bo...@gmail.com>