cloud-opensource-java icon indicating copy to clipboard operation
cloud-opensource-java copied to clipboard

Linkage Checker to provide a diagnosis for linkage error

Open suztomo opened this issue 6 years ago • 0 comments

Background

When there is a linkage error, people need to check why it happens (Example case of google-api-client-1.27.0). It would be nice if the tool provides a diagnosis.

Example Information

With the case of google-api-client

  • GoogleApacheHttpTransport in google-api-client:1.27.0 uses com.google.api.client.http.apache.ApacheHttpTransport$Builder but the class is not found in the class path. (The tool already has this information)
  • com.google.http-client:google-http-client:1.27.0 has the missing class. But the class path has com.google.http-client:google-http-client:1.28.0 instead. (new information)

Test Case

LinkageChecker -a com.google.cloud:google-cloud-bigtable:0.81.0-alpha,com.google.cloud:google-cloud-core-http:1.63.0

Data

  • With #498, Artifact.getFile().getPath() gives jar file path.
  • ClassDumper already has jarFileToClasses and classToJarFiles. This enhancement may leverage these maps.

suztomo avatar Mar 04 '19 15:03 suztomo