GoogleCloudPlatform / cloud-opensource-java

Tools for detecting and avoiding linkage errors in GCP open source projects
Apache License 2.0
157 stars 74 forks source link

Dashboard to check compatibility of Java modules (Java 9+) #796

Open suztomo opened 5 years ago

suztomo commented 5 years ago

(ticket to track idea. Not decided to implement this yet)

Jeff found that we have multiple maven packages/modules providing the same package name which is not allowed in Java 9+ module system. Can BOM dashboard help to identify such problems across the Google Cloud libraries?

C.f. https://docs.oracle.com/javase/10/tools/jdeps.htm#JSWOR690

Split Packages

The Java Module System page 66 explains split package problem

Dependency Cycle

The Java Module System page 63 explains modules cannot have cyclic dependencies at launch.

Resolution Cyclic dependences will not be supported at this time. Jigsaw spec on CyclicDependencies

suztomo commented 5 years ago

Discussed with Elliotte, not doing this right now; no OKR and not many people use the new module system (yet).

suztomo commented 5 years ago

Discussed with Elliotte and David. To implement something very simple to check split packages.

suztomo commented 5 years ago

The result from an initial attempt (go/jdd-split-packages) revealed new issues such as com.google.longrunning and appengine-api-1.0-sdk-1.9.71.jar.

Branch is automatic_module_name.