Upgrade to JDK 11

Status

DONE

Stakeholders
Outcome
Created date

 

Owner

NOTICE

This decision has been migrated to the Technical Council's Decision Log as part of a consolidation effort.  See:   DR-000022 - Upgrade to JDK 11


Background

Since Java 8 support is over and some tools like SonarCloud will stop accepting it, it is necessary for all FOLIO back-end modules to be compliant with JDK 11.

JDK 11 is selected because it is the latest Java LTS release available.

Here is an initial set of steps needed to move to Java 11 for all FOLIO back-end modules. This is quite a high-level plan and refinements will be added in further.

Action items

  • Complete RMB-328 - Make RMB OpenJDK 11 compliant
  • Complete FOLIO-2637 - Add Java 11 support to Jenkins Pipelines.
  • Complete FOLIO-2429 Create base Java docker image for recent version (JDK 11 support)
  • Spitfire team proposed to be a volunteer team to perform test movement from JDK 8 to JDK 11. They should:
    • Change to dependency to use the latest RMB version that supports JDK 11
    • Change the project’s pom.xml to use Java 11
    • Solve the issue that the current version of aspectj-maven-plugin doesn't work with JDK 11 – Dmytro Tkachenko has investigated this problem and can help with that.
    • Solve all other issues to have a green build and all tests passed.
    • Change Dockerfile to use the new docker image with JDK 11 support,
      • check locally that the “docker build” command completes successfully
    • Change Jenkins file to use JDK 11 for Maven build
      • Make that build green and ensure that the module running on JDK 11 works as expected on FOLIO snapshot environment
    • Prepare a step-by-step guide for all other teams to simplify their upgrade to JDK 11.
  • All other teams plan and perform the movement to JDK 11