GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

LinkageCheckerMain shows duplicate causes

未關閉
#1,945 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug p2
主要語言
Java
星號
163
分支
80
PR 合併指標
30 天內沒有已合併 PR

描述

When running LinkageCheckerMain for Beam, https://gist.github.com/suztomo/0ba02d93aa0b2f5d9701c50f7d7fd81f had duplicate "Dependency conflict" cause for one linkage error. For example:

```
Class com.google.pubsub.v1.DeleteSchemaRequest is not found;
Exception in thread "main" referenced by 2 class files
com.google.cloud.pubsub.v1.stub.GrpcSchemaServiceStub (com.google.cloud:google-cloud-pubsub:1.111.0)
com.google.cloud.pubsub.v1.SchemaServiceClient (com.google.cloud:google-cloud-pubsub:1.111.0)
Cause:
Dependency conflict: com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 does not define Class com.google.pubsub.v1.DeleteSchemaRequest but com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 defines it.
selected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 (compile)
unselected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.cloud:google-cloud-pubsub:1.111.0 (compile) / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 (compile)
Dependency conflict: com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 does not define Class com.google.pubsub.v1.DeleteSchemaRequest but com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 defines it.
selected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 (compile)
unselected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.cloud:google-cloud-pubsub:1.111.0 (compile) / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 (compile)

```

and

```
Class com.google.pubsub.v1.ListSchemasResponse is not found;
referenced by 3 class files
at com.google.cloud.tools.opensource.classpath.LinkageCheckerMain.main(LinkageCheckerMain.java:76)
com.google.cloud.pubsub.v1.stub.SchemaServiceStubSettings (com.google.cloud:google-cloud-pubsub:1.111.0)
com.google.cloud.pubsub.v1.stub.GrpcSchemaServiceStub (com.google.cloud:google-cloud-pubsub:1.111.0)
com.google.cloud.pubsub.v1.SchemaServiceClient (com.google.cloud:google-cloud-pubsub:1.111.0)
Cause:
Dependency conflict: com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 does not define Class com.google.pubsub.v1.ListSchemasResponse but com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 defines it.
selected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 (compile)
unselected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.cloud:google-cloud-pubsub:1.111.0 (compile) / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 (compile)
Dependency conflict: com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 does not define Class com.google.pubsub.v1.ListSchemasResponse but com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 defines it.
selected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 (compile)
unselected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.cloud:google-cloud-pubsub:1.111.0 (compile) / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 (compile)
Dependency conflict: com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 does not define Class com.google.pubsub.v1.ListSchemasResponse but com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 defines it.
selected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.90.3 (compile)
unselected: org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.29.0-SNAPSHOT / com.google.cloud:google-cloud-pubsub:1.111.0 (compile) / com.google.api.grpc:proto-google-cloud-pubsub-v1:1.93.0 (compile)
```

貢獻指南

開啟貢獻指南

研究方向

從 LinkageCheckerMain.java:76 開始,使用 Beam 範例和連結的 gist 重現重複的 "Dependency conflict" 輸出。追蹤原因的收集或呈現方式,然後驗證每個 linkage 錯誤只報告一次衝突。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
java
領域
tooling
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。