The different formatting preferences sounds annoying enough that I would think we should just drop the Java8 support. Do we have anyone who strongly prefers keeping Java 8 support?
As an alternative I think it would be fine if we disable the formatter when using Java 21 and just make sure we always have tests run with Java 8 and the formatter checks in our CI. If we go this route I think we stay with Java 8 for formatting and save the reformat for when Java 8 is dropped officially. On Tue, Jul 9, 2024 at 7:32 AM Piotr Findeisen <piotr.findei...@gmail.com> wrote: > Hi, > > Java 21 is the latest "LTS version" released GA in September 2023. > Some Iceberg users already run with Java 21 on production (and FWIW Trino > runs with 22 already) > I thought it would be nice to add support for building and testing Iceberg > with Java 21. > > Conceptually this is simple (see PR > <https://github.com/apache/iceberg/pull/10474>), but there is a caveat > worth discussing: > There seems to be no version of Google Java Format library that can run > under JDK 8 and JDK 21. > Choosing Google Java Format version dynamically is not an option, because > different versions have slightly different formatting preferences, so > updating formatter version requires updating the code in a handful of > places. > > Question: > do we want to add support for building and testing with Java 21? > Ability to test with Java 21 would match what some of Iceberg users are > doing. > If we choose so, we would simply disable spotless formatter when build > runs on Java 21 (or 8 if this is preferred instead) > > or we prefer to wait until we can drop Java 8 support > <https://github.com/apache/iceberg/pull/10518> first, and only then add > Java 21 support? > > Pre-existing context: > the topic has been discussed on the PR here: > https://github.com/apache/iceberg/pull/10474#discussion_r1658513019 > and it was proposed there to bring this to Dev group attention. > > Best, > PF > >