GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Should ClassPathBuilder.resolve filter out irrelevant artifactproblems?

オープン
#1,215 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
p3 Tech Debt
主要言語
Java
スター
163
フォーク
80
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。