GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Linkage Checker to provide a diagnosis for linkage error

Ouverte
#487 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement p2
Langage dominant
Java
Étoiles
163
Forks
80
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

# Background

When there is a linkage error, people need to check why it happens ([Example case of google-api-client-1.27.0](https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/468)). 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.