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

Linkage Checker to show location of outer class if any

Open suztomo opened this issue 6 years ago • 1 comments

As of now, Linkage Checker does not show the location of JAR file for missing class, even when the class is an inner class.

Example in https://gist.github.com/suztomo/a9e5d46dc64bd19967c6762a468c9b66

Class com.google.api.client.http.apache.ApacheHttpTransport$Builder is not found;
  referenced by 1 class file
    com.google.cloud.hadoop.util.HttpTransportFactory (util-1.9.16.jar)

Here, it's helpful if it shows the location (JAR file) of com.google.api.client.http.apache.ApacheHttpTransport class.

suztomo avatar Dec 06 '19 19:12 suztomo

The ApacheHttpTransport is from com.google.http-client:google-http-client-apache:2.0.0.

+--- project :sdks:java:extensions:google-cloud-platform-core
|    +--- org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|    +--- project :sdks:java:core (*)
|    +--- com.google.http-client:google-http-client-jackson2:1.28.0
|    |    +--- com.google.http-client:google-http-client:1.28.0
|    |    |    +--- com.google.code.findbugs:jsr305:3.0.2
|    |    |    +--- com.google.guava:guava:26.0-android -> 25.1-jre
|    |    |    |    +--- com.google.code.findbugs:jsr305:3.0.2
|    |    |    |    +--- org.checkerframework:checker-qual:2.0.0
|    |    |    |    +--- com.google.errorprone:error_prone_annotations:2.1.3 -> 2.0.15
|    |    |    |    +--- com.google.j2objc:j2objc-annotations:1.1
|    |    |    |    \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 -> 1.17
|    |    |    +--- com.google.j2objc:j2objc-annotations:1.1
|    |    |    +--- io.opencensus:opencensus-api:0.18.0
|    |    |    |    \--- io.grpc:grpc-context:1.14.0 -> 1.17.1
|    |    |    \--- io.opencensus:opencensus-contrib-http-util:0.18.0
|    |    |         +--- io.opencensus:opencensus-api:0.18.0 (*)
|    |    |         \--- com.google.guava:guava:20.0 -> 25.1-jre (*)
|    |    \--- com.fasterxml.jackson.core:jackson-core:2.9.6 -> 2.9.10
|    +--- com.google.auth:google-auth-library-oauth2-http:0.12.0
|    |    +--- com.google.auth:google-auth-library-credentials:0.12.0
|    |    +--- com.google.http-client:google-http-client:1.27.0 -> 1.28.0 (*)
|    |    +--- com.google.http-client:google-http-client-jackson2:1.27.0 -> 1.28.0 (*)
|    |    \--- com.google.guava:guava:20.0 -> 25.1-jre (*)
|    +--- com.google.api-client:google-api-client:1.28.0
|    |    +--- com.google.oauth-client:google-oauth-client:1.28.0
|    |    |    +--- com.google.http-client:google-http-client:1.28.0 (*)
|    |    |    +--- com.google.code.findbugs:jsr305:3.0.2
|    |    |    \--- com.google.guava:guava:26.0-android -> 25.1-jre (*)
|    |    +--- com.google.http-client:google-http-client-jackson2:1.28.0 (*)
|    |    +--- com.google.http-client:google-http-client-apache:2.0.0

util-1.9.16.jar is from com.google.cloud.bigdataoss:util:1.9.16 (*).

suztomo avatar Dec 06 '19 19:12 suztomo