I disagree with having an open-ended compiler baseline requirement due to

   1. It is not a minor task to bump the compiler version. The Java 17
   upgrade task was on hold already for several months due to its intricacies.
   As a matter of fact, you were the one who dropped the ball after the Java
   11 upgrade. (It was a rightful decision and I am glad you did the hard work
   of Java 11 upgrade. 🙇)
   2. Fixing the baseline will keep everybody (maintainers, individual
   contributors, etc.) on the same page due to no moving parts. Less "Are you
   using Java 17?"-kind questions while troubleshooting.
   3. Those who want to test Log4j against new JDKs still can easily:
   `-Denforcer.skip`
   4. `.java-version` doesn't support ranges (AFAIK)
   5. I don't find it annoying. On the contrary, several other major
   projects adopt this pattern: Spring Boot
   
<https://github.com/spring-projects/spring-boot/blob/main/buildSrc/build.gradle#L13>,
   JUnit
   
<https://github.com/junit-team/junit5/blob/main/gradle/plugins/settings.gradle.kts#L4>,
   JCTools <https://github.com/JCTools/JCTools/blob/master/pom.xml#L167>,
   Guava <https://github.com/google/guava/blob/master/pom.xml#L113>, etc.
   6. I don't see a compelling use case.

All that said, I am not strongly opinionated about this and I wouldn't stop
you from replacing `[17,18)` with `[17,)` in `/pom.xml`.

On Tue, Dec 5, 2023 at 1:19 PM Piotr P. Karwasz <piotr.karw...@gmail.com>
wrote:

> Hi Volkan,
>
> On Tue, 5 Dec 2023 at 11:50, Volkan Yazıcı <vol...@yazi.ci> wrote:
> >
> > I have just updated `main` to require Java 17 for compiling and to target
> > Java 17. Previously both were Java 11. If you have objections, please
> > discuss in this thread.
>
> I am Ok with bumping the bytecode to Java 17.
>
> Regarding the build requirements I would give by **default** a larger
> spectrum of possible JDKs.
> Right now we only accept JDK 17 in the default Maven profile. A Log4j
> contributor is forced to install JDK 17 for a build to succeed, which
> might be annoying. Therefore it might be better to:
>
>  * set the Enforcer plugin to accept
> [minimum_JDK_required_by_Maven_plugins,)
>  * set [17,18) **only** in the `release` plugin.
>
> BTW: when we bump BND to 7.x, minimum_JDK_required_by_Maven_plugins will
> be 17.
>
> Piotr
>

Reply via email to