GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java
Linkage Checker should report clearer error when an artifact name is incorrect
- 主要語言
- Java
- 星號
- 163
- 分支
- 80
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Linkage Checker should report more clear error when an artifact name is incorrect. As of now, it fails with "IndexOutOfBoundsException" when a user passes invalid artifact ID:
```
Thu 14 Jan 2021 10:24:42 PM UTC: Running linkage check (validate) for beam-sdks-java-core beam-sdks-java-io-google-cloud-platform beam-runners-google-cloud-dataflow-java beam-sdks-java-io-hadoop-format sdks-java-io-kinesis sdks-java-extensions-sql-zetasql
Thu 14 Jan 2021 10:24:42 PM UTC: using baseline build/linkagecheck/baseline-sdks-java-extensions-sql-zetasql.xml
+ ./gradlew -Ppublishing -PskipCheckerFramework -PjavaLinkageArtifactIds=sdks-java-extensions-sql-zetasql -PjavaLinkageReadBaseline=build/linkagecheck/baseline-sdks-java-extensions-sql-zetasql.xml :checkJavaLinkage
Configuration on demand is an incubating feature.
> Task :checkJavaLinkage FAILED
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.IndexOutOfBoundsException: end index (1) must not be greater than size (0)
at com.google.common.base.Preconditions.checkPositionIndexes(Preconditions.java:1420)
at com.google.common.collect.ImmutableList.subList(ImmutableList.java:433)
at com.google.cloud.tools.opensource.classpath.LinkageCheckerMain.main(LinkageCheckerMain.java:84)
FAILURE: Build failed with an exception.
```
貢獻指南
研究方向
從 LinkageCheckerMain.java:84 開始,該位置可透過 Gradle 工作 :checkJavaLinkage 到達,並檢查提供無效 artifact ID 時如何解析 javaLinkageArtifactIds 值。完成標準是:該命令回報清楚的 artifact 名稱錯誤,而不是 IndexOutOfBoundsException;使用 linkage-check 命令的輸出驗證行為。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- tooling
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100