GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Should ClassPathBuilder.resolve filter out irrelevant artifactproblems?

Abierto
#1,215 0 comentarios 0 reacciones 0 asignados Ver en GitHub
p3 Tech Debt
Lenguaje dominante
Java
Estrellas
163
Forks
80
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Should ClassPathBuilder.resolve filter out irrelevant artifactproblems?

https://github.com/GoogleCloudPlatform/cloud-opensource-java/pull/1210/files#r378853356

As of now, it passes the whole artifactproblems from dependencygraphbuilder to the caller. But some of the artifacts are not selected for the resolved class path. Should it filter out such artifactproblems?

```
public ClassPathResult resolve(List artifacts) {
DependencyGraphResult graphResult = DependencyGraphBuilder....

return classPathResult
}
```

```
class ClassPathResult {
private final ImmutableList classPath;

private final ImmutableListMultimap dependencyPaths;

private final ImmutableList artifactProblems;
```

# Options

## Pass all artifact problems to the caller

current implementation. The caller of `resolve` may stop processing even when the artifact problems are only for artifacts that are not selected for `classPath`

## Pass only artifact problems that is related to `classPath`

This sounds reasonable.

## Throw an exception if there is an artifact problem

Because the caller needs the artifact problems to show the error anyway, this makes the caller's code unnecessarily complex.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.