GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Linkage Checker enforcer rule to output tree or path when there is an error

Open
#865 0 comments 0 reactions 1 assignee Claimed by @suztomo View on GitHub
enhancement p3
Dominant language
Java
Stars
163
Forks
80
PR merge metrics
No merged PRs in 30d

Description

Probably not before 1.0.0.

It's nice to have Linkage Checker enforcer rule to output tree or path when there is an error because I need to understand why an artifact is included in the graph every time I see an error.

The ad-hoc modification to output the dependency path:

```
suztomo@suxtomo24:~/cloud-opensource-java$ git diff
diff --git a/enforcer-rules/src/main/java/com/google/cloud/tools/dependencies/enforcer/LinkageCheckerRule.java b/enforcer-rules/src/main/java/com/google/cloud/tools/dependencies/enforcer/LinkageCheckerRule.java
index 88fbf9e5..153f6c95 100644
--- a/enforcer-rules/src/main/java/com/google/cloud/tools/dependencies/enforcer/LinkageCheckerRule.java
+++ b/enforcer-rules/src/main/java/com/google/cloud/tools/dependencies/enforcer/LinkageCheckerRule.java
@@ -328,6 +328,10 @@ public class LinkageCheckerRule extends AbstractNonCacheableEnforcerRule {
for (Dependency dependency : result.getResolvedDependencies()) {
// Resolved dependencies are guaranteed to have file.
builder.add(dependency.getArtifact().getFile().toPath());
+ if (dependency.getArtifact().getFile().toPath().endsWith("auto-service-1.0-rc4.jar")) {
+ String path = findPaths(result.getDependencyGraph(), dependency.getArtifact());
+ System.out.println(path);
+ }
}
return builder.build();
}

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.