GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java
reportonlyreachable still fails on optional
- 主要語言
- Java
- 星號
- 163
- 分支
- 80
- PR 合併指標
- 30 天內沒有已合併 PR
描述
I have a plugin that depends on maven-core:3.8.2. Even with the reportonlyreachable flag set true,
https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/Linkage-Checker-Enforcer-Rule-Tutorial#reportonlyreachable-flag
the rule fails with
> [ERROR] Linkage Checker rule found 3 reachable errors:
> Class org.fusesource.jansi.Ansi is not found;
> referenced by 2 class files
> org.apache.maven.shared.utils.logging.AnsiMessageBuilder (org.apache.maven.shared:maven-shared-utils:3.3.4)
> org.apache.maven.shared.utils.logging.Style (org.apache.maven.shared:maven-shared-utils:3.3.4)
> Cause:
> The valid symbol is in org.fusesource.jansi:jansi:jar:2.2.0 at com.etc:etc-maven-plugin:jar:2.2.0 / org.apache.maven.shared:maven-shared-utils:3.3.4 (compile) / org.fusesource.jansi:jansi:2.2.0 (compile, optional) but it was not selected because the path contains an optional dependency
> Class org.fusesource.jansi.AnsiConsole is not found;
> referenced by 1 class file
> org.apache.maven.shared.utils.logging.MessageUtils (org.apache.maven.shared:maven-shared-utils:3.3.4)
> Cause:
> The valid symbol is in org.fusesource.jansi:jansi:jar:2.2.0 at com.etc:etc-maven-plugin:jar:2.2.0 / org.apache.maven.shared:maven-shared-utils:3.3.4 (compile) / org.fusesource.jansi:jansi:2.2.0 (compile, optional) but it was not selected because the path contains an optional dependency
> Class org.fusesource.jansi.Ansi$Color is not found;
> referenced by 1 class file
> org.apache.maven.shared.utils.logging.Style (org.apache.maven.shared:maven-shared-utils:3.3.4)
> Cause:
> The valid symbol is in org.fusesource.jansi:jansi:jar:2.2.0 at com.etc:etc-maven-plugin:jar:2.2.0 / org.apache.maven.shared:maven-shared-utils:3.3.4 (compile) / org.fusesource.jansi:jansi:2.2.0 (compile, optional) but it was not selected because the path contains an optional dependency
> Problematic artifacts in the dependency tree:
> org.apache.maven.shared:maven-shared-utils:3.3.4 is at:
> com.etc:etc-maven-plugin:jar:2.2.0 / org.apache.maven.shared:maven-shared-utils:3.3.4 (compile)
```xml
ERROR
true
```
linkage-checker-enforcer-rules:1.5.12
貢獻指南
研究方向
使用 linkage-checker-enforcer-rules:1.5.12 以及 reportOnlyReachable 教學中展示的 LinkageCheckerRule 設定重現此失敗。首先閱讀 LinkageCheckerRule 的實作,以及它如何處理選用相依性的路徑。當回報的選用 Jansi 參照不再導致 reportOnlyReachable 失敗,並且針對此相依性設定有回歸測試時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- build-system
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100