Skip to content

Remove support for Java 11 #2375

@nedtwigg

Description

@nedtwigg
Member

Some of our formatters can't compile on Java 11 anymore, so supporting Java 11 at all is getting harder. We'll support it a while longer, but its days are numbered...

Running checklist of todo items to make this happen (please don't send PRs for these at this time, we aren't pulling the plug on Java 11 yet)

  • remove CDT build complexity added in aab831c
    bump to latest JGit, which has worktree support
    can remove JGit system config workaround in 0c66cb0 nope still need it
  • we'll need to bump minimum Gradle to 7.3, which lets us remove some compat stuff
  • update documented requirements for gradle and maven

Activity

nedtwigg

nedtwigg commented on Jan 6, 2025

@nedtwigg
MemberAuthor

Not sure why, but on Java 11, JGit was causing this to happen.

- Class `org.eclipse.jgit.util.FS`: external process started '/usr/bin/git --version'
  See https://docs.gradle.org/8.4/userguide/configuration_cache.html#config_cache:requirements:external_processes
- Class `org.eclipse.jgit.util.FS`: external process started '/usr/bin/git config --system --show-origin --list -z'
  See https://docs.gradle.org/8.4/userguide/configuration_cache.html#config_cache:requirements:external_processes

We don't have the problem on Java 17 or later. This hack fixes it

0c66cb0

But it would probably be good to remove it when we bump the minimum Java from 11 to 17.

EDIT: after removing it, we get the error Java 17 only, but not 21 and 24. Hrm... I wonder if it is some kind of global build cache thing - first build to run hits the problem, subsequent works around thanks to reusing a result from the remote build cache...

nedtwigg

nedtwigg commented on Jan 7, 2025

@nedtwigg
MemberAuthor

Another benefit to bumping to Java 17 is that we could use the latest JGit, which adds worktree support.

nedtwigg

nedtwigg commented on Jan 7, 2025

@nedtwigg
MemberAuthor

It would also bump our required version of Gradle to 7.3, which would allow some minor simplifications here:

nedtwigg

nedtwigg commented on Jul 16, 2025

@nedtwigg
MemberAuthor

With the pending release of Gradle 9, I think this is the right time for us to bump minimums, thanks to the linked PR by @Goooler above. If you need/want us to stay compatible with old stuff for a bit longer, speak up now!

Goooler

Goooler commented on Jul 17, 2025

@Goooler
Member

I don't.

nedtwigg

nedtwigg commented on Jul 18, 2025

@nedtwigg
MemberAuthor

My plan is:

added a commit that references this issue on Jul 20, 2025
pinned this issue on Jul 21, 2025
unpinned this issue on Jul 21, 2025
nedtwigg

nedtwigg commented on Jul 21, 2025

@nedtwigg
MemberAuthor

Complete! Huge thanks @Goooler, you did the hard part!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @nedtwigg@Goooler

        Issue actions

          Remove support for Java 11 · Issue #2375 · diffplug/spotless