GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java
LinkageCheckerMain shows duplicate causes
- 主要語言
- 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