GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Linkage Checker to provide a diagnosis for linkage error

Aberta
#487 0 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement p2
Linguagem predominante
Java
Estrelas
163
Forks
80
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

# 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.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.