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

If the job finds any invalid references at Step 2, we work with the library owner to publish a new version that does not contain the invalid references. See the fix in Java 8 incompatible references of java.nio.Buffer classes generated by Java 9 compilers.

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 work with the library owners to publish a new version with a fix while communicating to Google Cloud Java client team about the malfunction of the class files.

Clone this wiki locally