diff --git a/gcp-resources/build.gradle.kts b/gcp-resources/build.gradle.kts index cc227ed6e..a5b3be0ca 100644 --- a/gcp-resources/build.gradle.kts +++ b/gcp-resources/build.gradle.kts @@ -18,6 +18,9 @@ dependencies { testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating") compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") + compileOnly("com.google.auto.service:auto-service-annotations") + annotationProcessor("com.google.auto.service:auto-service") + testCompileOnly("com.google.auto.service:auto-service-annotations") implementation("com.fasterxml.jackson.core:jackson-core") diff --git a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java index b7e49c1a9..5334af9de 100644 --- a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java +++ b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java @@ -50,6 +50,7 @@ import static io.opentelemetry.contrib.gcp.resource.IncubatingAttributes.HOST_TYPE; import static io.opentelemetry.contrib.gcp.resource.IncubatingAttributes.K8S_CLUSTER_NAME; +import com.google.auto.service.AutoService; import com.google.cloud.opentelemetry.detection.DetectedPlatform; import com.google.cloud.opentelemetry.detection.GCPPlatformDetector; import io.opentelemetry.api.common.Attributes; @@ -61,8 +62,9 @@ import java.util.Optional; import java.util.logging.Logger; +@AutoService(ConditionalResourceProvider.class) @SuppressWarnings("MemberName") -public class GCPResourceProvider implements ConditionalResourceProvider { +public final class GCPResourceProvider implements ConditionalResourceProvider { private static final Logger LOGGER = Logger.getLogger(GCPResourceProvider.class.getSimpleName()); private final GCPPlatformDetector detector; diff --git a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/IncubatingAttributes.java b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/IncubatingAttributes.java index 745d440fd..e691f2bbf 100644 --- a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/IncubatingAttributes.java +++ b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/IncubatingAttributes.java @@ -11,7 +11,7 @@ * Inlines incubating attributes until they are stable, doing this prevents having a direct * dependency on incubating artifact which can conflict with another incubating version. */ -class IncubatingAttributes { +final class IncubatingAttributes { private IncubatingAttributes() {} diff --git a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/internal/GcpResourceDetector.java b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/internal/GcpResourceDetector.java index 35adbeded..14614270f 100644 --- a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/internal/GcpResourceDetector.java +++ b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/internal/GcpResourceDetector.java @@ -5,13 +5,16 @@ package io.opentelemetry.contrib.gcp.resource.internal; +import com.google.auto.service.AutoService; import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties; import io.opentelemetry.contrib.gcp.resource.GCPResourceProvider; import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider; import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.resources.ResourceBuilder; -public class GcpResourceDetector implements ComponentProvider { +@AutoService(ComponentProvider.class) +@SuppressWarnings("rawtypes") +public final class GcpResourceDetector implements ComponentProvider { @Override public Class getType() { diff --git a/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider b/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider deleted file mode 100644 index d65134276..000000000 --- a/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider +++ /dev/null @@ -1 +0,0 @@ -io.opentelemetry.contrib.gcp.resource.GCPResourceProvider diff --git a/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider b/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider deleted file mode 100644 index e65bbc840..000000000 --- a/gcp-resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider +++ /dev/null @@ -1 +0,0 @@ -io.opentelemetry.contrib.gcp.resource.internal.GcpResourceDetector