diff --git a/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelCanIgnoreReturnValueSuggester.java b/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelCanIgnoreReturnValueSuggester.java index 3c97624577..a41cbc5498 100644 --- a/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelCanIgnoreReturnValueSuggester.java +++ b/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelCanIgnoreReturnValueSuggester.java @@ -9,10 +9,12 @@ import static com.google.errorprone.matchers.Description.NO_MATCH; import com.google.auto.service.AutoService; import com.google.errorprone.BugPattern; +import com.google.errorprone.ErrorProneFlags; import com.google.errorprone.VisitorState; import com.google.errorprone.bugpatterns.BugChecker; import com.google.errorprone.bugpatterns.checkreturnvalue.CanIgnoreReturnValueSuggester; import com.google.errorprone.matchers.Description; +import com.google.inject.Inject; import com.sun.source.tree.ClassTree; import com.sun.source.tree.MethodTree; import com.sun.source.util.TreePath; @@ -27,7 +29,19 @@ public class OtelCanIgnoreReturnValueSuggester extends BugChecker private static final long serialVersionUID = 1L; - private final CanIgnoreReturnValueSuggester delegate = new CanIgnoreReturnValueSuggester(); + private final CanIgnoreReturnValueSuggester delegate; + + @Inject + OtelCanIgnoreReturnValueSuggester(ErrorProneFlags errorProneFlags) { + delegate = new CanIgnoreReturnValueSuggester(errorProneFlags); + } + + public OtelCanIgnoreReturnValueSuggester() { + // https://errorprone.info/docs/plugins + // this constructor is used by ServiceLoader, actual instance will be created with the other + // constructor + delegate = null; + } @Override public Description matchMethod(MethodTree methodTree, VisitorState visitorState) { diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 8a0a7d6387..28136909a5 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -39,7 +39,7 @@ val DEPENDENCY_BOMS = listOf( val autoServiceVersion = "1.1.1" val autoValueVersion = "1.10.4" -val errorProneVersion = "2.21.1" +val errorProneVersion = "2.22.0" val byteBuddyVersion = "1.14.8" val asmVersion = "9.5" val jmhVersion = "1.37" diff --git a/instrumentation/kubernetes-client-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientTest.java b/instrumentation/kubernetes-client-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientTest.java index e69e03eb9d..37e3e22d61 100644 --- a/instrumentation/kubernetes-client-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientTest.java +++ b/instrumentation/kubernetes-client-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientTest.java @@ -100,7 +100,7 @@ class KubernetesClientTest { void handleErrorsInSyncCall() { mockWebServer.enqueue( HttpResponse.of(HttpStatus.valueOf(451), MediaType.PLAIN_TEXT_UTF_8, "42")); - AtomicReference apiExceptionReference = new AtomicReference<>(null); + ApiException exception = null; try { testing.runWithSpan( "parent", @@ -108,13 +108,12 @@ class KubernetesClientTest { coreV1Api.connectGetNamespacedPodProxy("name", "namespace", "path"); }); } catch (ApiException e) { - apiExceptionReference.set(e); + exception = e; } - assertThat(apiExceptionReference.get()).isNotNull(); + ApiException apiException = exception; + assertThat(apiException).isNotNull(); assertThat(mockWebServer.takeRequest().request().headers().get("traceparent")).isNotBlank(); - ApiException apiException = apiExceptionReference.get(); - testing.waitAndAssertTraces( trace -> trace.hasSpansSatisfyingExactly(