Skip to content

Java 8 Incompatible Reference Check

Tomo Suzuki edited this page Sep 2, 2020 · 9 revisions

(draft)

This job checks the libraries in a BOM do not have class files with Java 8 incompatible references of java.nio.Buffer classes generated by Java 9 compilers.

Given a BOM the tool performs the following steps:

  1. Resolve the dependency graph for each artifact in the dependencyManagement section of the BOM
  2. Find the invalid references embed in the class files in the artifacts in the dependency graphs.
  3. Find the invalid references embed in the class files in the latest version of the artifacts in the dependency graphs.

If it finds any references to the Java core library that are not present in Java 8 runtime, the job fails; otherwise the job succeeds.

Actions upon the Job Failure

Failure at Step 2

If the job finds any invalid references at Step 2, we take the following actions:

Failure at Step 3

If the job finds any invalid references at Step 3, but not in Step 2, it means the new version is not yet part of the dependency graphs of the libraries in the BOM. We take the following actions:

  • We communicate to the library owner to publish a new version with a fix.

    After the latest version of the library fixes the problem, the job should succeed.

  • We communicate to Google Cloud Java client team to wait until the problem is resolved.

Clone this wiki locally