diff --git a/api/all/build.gradle.kts b/api/all/build.gradle.kts index 4ad64f607d3..5f2135ea000 100644 --- a/api/all/build.gradle.kts +++ b/api/all/build.gradle.kts @@ -15,6 +15,8 @@ dependencies { annotationProcessor("com.google.auto.value:auto-value") + compileOnly("org.osgi:osgi.annotation") + testImplementation("edu.berkeley.cs.jqf:jqf-fuzz") testImplementation("com.google.guava:guava-testlib") } diff --git a/api/all/src/main/java/io/opentelemetry/api/baggage/package-info.java b/api/all/src/main/java/io/opentelemetry/api/baggage/package-info.java index 7cf942a9129..221c30e7613 100644 --- a/api/all/src/main/java/io/opentelemetry/api/baggage/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/baggage/package-info.java @@ -15,6 +15,8 @@ */ // TODO: Add code examples. @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.baggage; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/baggage/propagation/package-info.java b/api/all/src/main/java/io/opentelemetry/api/baggage/propagation/package-info.java index 2d085fbe36a..7d3b12fbc04 100644 --- a/api/all/src/main/java/io/opentelemetry/api/baggage/propagation/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/baggage/propagation/package-info.java @@ -5,6 +5,8 @@ /** Default OpenTelemetry remote baggage propagators. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.baggage.propagation; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/common/package-info.java b/api/all/src/main/java/io/opentelemetry/api/common/package-info.java index 219c1ccf8ff..4017570b2ef 100644 --- a/api/all/src/main/java/io/opentelemetry/api/common/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/common/package-info.java @@ -8,6 +8,8 @@ * io.opentelemetry.api.common.Attributes} and classes/utilities for interacting with them. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.common; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/internal/package-info.java b/api/all/src/main/java/io/opentelemetry/api/internal/package-info.java index 7ed63c90ceb..cc003ae7a6e 100644 --- a/api/all/src/main/java/io/opentelemetry/api/internal/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/internal/package-info.java @@ -10,6 +10,8 @@ * API, and must not be used by users of the OpenTelemetry library. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.internal; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/metrics/package-info.java b/api/all/src/main/java/io/opentelemetry/api/metrics/package-info.java index 5df45ba3794..30391e2ccae 100644 --- a/api/all/src/main/java/io/opentelemetry/api/metrics/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/metrics/package-info.java @@ -15,6 +15,8 @@ * scenarios where instrumentation authors are unable to obtain one by other means. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/package-info.java b/api/all/src/main/java/io/opentelemetry/api/package-info.java index cd68fbe2235..af7d9684f3f 100644 --- a/api/all/src/main/java/io/opentelemetry/api/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/package-info.java @@ -10,6 +10,8 @@ * methods on {@link io.opentelemetry.api.OpenTelemetry}. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/trace/package-info.java b/api/all/src/main/java/io/opentelemetry/api/trace/package-info.java index 2970a7eeadf..8267ac8c0ff 100644 --- a/api/all/src/main/java/io/opentelemetry/api/trace/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/trace/package-info.java @@ -20,6 +20,8 @@ */ // TODO: Add code examples. @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.trace; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/trace/propagation/internal/package-info.java b/api/all/src/main/java/io/opentelemetry/api/trace/propagation/internal/package-info.java index 52f249f550c..e5699024740 100644 --- a/api/all/src/main/java/io/opentelemetry/api/trace/propagation/internal/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/trace/propagation/internal/package-info.java @@ -10,6 +10,8 @@ * API, and must not be used by users of the OpenTelemetry library. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.trace.propagation.internal; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/api/all/src/main/java/io/opentelemetry/api/trace/propagation/package-info.java b/api/all/src/main/java/io/opentelemetry/api/trace/propagation/package-info.java index bd0c0ac3585..b248e7066c6 100644 --- a/api/all/src/main/java/io/opentelemetry/api/trace/propagation/package-info.java +++ b/api/all/src/main/java/io/opentelemetry/api/trace/propagation/package-info.java @@ -5,6 +5,8 @@ /** Default OpenTelemetry remote trace propagators. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.api.trace.propagation; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index a6d0af0000b..49c6cb9dc84 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -13,6 +13,7 @@ repositories { dependencies { // When updating, update above in plugins too + implementation("biz.aQute.bnd:biz.aQute.bnd.gradle:6.3.1") implementation("com.diffplug.spotless:spotless-plugin-gradle:6.4.2") // Needed for japicmp but not automatically brought in for some reason. implementation("com.google.guava:guava:31.1-jre") diff --git a/buildSrc/src/main/kotlin/otel.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/otel.java-conventions.gradle.kts index 256ee6133f2..b345dfc6f5a 100644 --- a/buildSrc/src/main/kotlin/otel.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/otel.java-conventions.gradle.kts @@ -8,6 +8,7 @@ plugins { eclipse idea + id("biz.aQute.bnd.builder") id("otel.errorprone-conventions") id("otel.jacoco-conventions") id("otel.spotless-conventions") @@ -113,11 +114,8 @@ tasks { } withType().configureEach { - inputs.property("moduleName", otelJava.moduleName) - manifest { attributes( - "Automatic-Module-Name" to otelJava.moduleName, "Built-By" to System.getProperty("user.name"), "Built-JDK" to System.getProperty("java.version"), "Implementation-Title" to project.name, @@ -126,6 +124,15 @@ tasks { } } + named("jar", Jar::class.java) { + inputs.property("moduleName", otelJava.moduleName) + + bundle { + bnd("-fixupmessages \"Classes found in the wrong directory\"; restrict:=error; is:=ignore") + bnd(otelJava.moduleName.map { moduleName -> "Automatic-Module-Name: $moduleName" }) + } + } + afterEvaluate { withType().configureEach { with(options as StandardJavadocDocletOptions) { diff --git a/context/build.gradle.kts b/context/build.gradle.kts index caf9baedd7c..c9b598f48a4 100644 --- a/context/build.gradle.kts +++ b/context/build.gradle.kts @@ -10,6 +10,7 @@ description = "OpenTelemetry Context (Incubator)" otelJava.moduleName.set("io.opentelemetry.context") dependencies { + compileOnly("org.osgi:osgi.annotation") // MustBeClosed compileOnly("com.google.errorprone:error_prone_annotations") diff --git a/context/src/main/java/io/opentelemetry/context/internal/shaded/package-info.java b/context/src/main/java/io/opentelemetry/context/internal/shaded/package-info.java index d6dd9ae3c5b..6a1250af990 100644 --- a/context/src/main/java/io/opentelemetry/context/internal/shaded/package-info.java +++ b/context/src/main/java/io/opentelemetry/context/internal/shaded/package-info.java @@ -4,4 +4,7 @@ *

All the content under this package and its subpackages are considered not part of the public * API, and must not be used by users of the OpenTelemetry library. */ +@Export package io.opentelemetry.context.internal.shaded; + +import org.osgi.annotation.bundle.Export; \ No newline at end of file diff --git a/context/src/main/java/io/opentelemetry/context/package-info.java b/context/src/main/java/io/opentelemetry/context/package-info.java index ab3ec86952c..35187e8b02c 100644 --- a/context/src/main/java/io/opentelemetry/context/package-info.java +++ b/context/src/main/java/io/opentelemetry/context/package-info.java @@ -10,6 +10,8 @@ * @see io.opentelemetry.context.Context */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.context; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/context/src/main/java/io/opentelemetry/context/propagation/package-info.java b/context/src/main/java/io/opentelemetry/context/propagation/package-info.java index 70ba05efa2b..4a8696f4251 100644 --- a/context/src/main/java/io/opentelemetry/context/propagation/package-info.java +++ b/context/src/main/java/io/opentelemetry/context/propagation/package-info.java @@ -9,6 +9,8 @@ * remote server. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.context.propagation; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index b886d48fa5c..7df23bf174c 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -99,6 +99,7 @@ val DEPENDENCIES = listOf( "org.codehaus.mojo:animal-sniffer-annotations:1.21", "org.jctools:jctools-core:3.3.0", "org.junit-pioneer:junit-pioneer:1.7.1", + "org.osgi:osgi.annotation:8.1.0", "org.skyscreamer:jsonassert:1.5.0", ) diff --git a/exporters/jaeger-thrift/build.gradle.kts b/exporters/jaeger-thrift/build.gradle.kts index 36160dc8697..34924ed665e 100644 --- a/exporters/jaeger-thrift/build.gradle.kts +++ b/exporters/jaeger-thrift/build.gradle.kts @@ -11,6 +11,8 @@ otelJava.moduleName.set("io.opentelemetry.exporter.jaeger.thrift") dependencies { api(project(":sdk:all")) + compileOnly("org.osgi:osgi.annotation") + implementation(project(":sdk:all")) implementation(project(":semconv")) diff --git a/exporters/jaeger-thrift/src/main/java/io/opentelemetry/exporter/jaeger/thrift/package-info.java b/exporters/jaeger-thrift/src/main/java/io/opentelemetry/exporter/jaeger/thrift/package-info.java index 1173e8d8452..b18d39aeea1 100644 --- a/exporters/jaeger-thrift/src/main/java/io/opentelemetry/exporter/jaeger/thrift/package-info.java +++ b/exporters/jaeger-thrift/src/main/java/io/opentelemetry/exporter/jaeger/thrift/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.jaeger.thrift; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/jaeger/build.gradle.kts b/exporters/jaeger/build.gradle.kts index da02611162b..ef5ebc41756 100644 --- a/exporters/jaeger/build.gradle.kts +++ b/exporters/jaeger/build.gradle.kts @@ -20,6 +20,7 @@ dependencies { implementation(project(":exporters:otlp:common")) implementation(project(":semconv")) + compileOnly("org.osgi:osgi.annotation") compileOnly("io.grpc:grpc-stub") implementation("com.fasterxml.jackson.jr:jackson-jr-objects") diff --git a/exporters/jaeger/src/main/java/io/opentelemetry/exporter/jaeger/package-info.java b/exporters/jaeger/src/main/java/io/opentelemetry/exporter/jaeger/package-info.java index 23e486e2fd8..933fd9408d2 100644 --- a/exporters/jaeger/src/main/java/io/opentelemetry/exporter/jaeger/package-info.java +++ b/exporters/jaeger/src/main/java/io/opentelemetry/exporter/jaeger/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.jaeger; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/logging-otlp/build.gradle.kts b/exporters/logging-otlp/build.gradle.kts index bcc0176d0d6..b549427bd93 100644 --- a/exporters/logging-otlp/build.gradle.kts +++ b/exporters/logging-otlp/build.gradle.kts @@ -9,6 +9,8 @@ description = "OpenTelemetry Protocol JSON Logging Exporters" otelJava.moduleName.set("io.opentelemetry.exporter.logging.otlp") dependencies { + compileOnly("org.osgi:osgi.annotation") + compileOnly(project(":sdk:trace")) compileOnly(project(":sdk:metrics")) compileOnly(project(":sdk:logs")) diff --git a/exporters/logging-otlp/src/main/java/io/opentelemetry/exporter/logging/otlp/package-info.java b/exporters/logging-otlp/src/main/java/io/opentelemetry/exporter/logging/otlp/package-info.java index f6c93513bba..956959456db 100644 --- a/exporters/logging-otlp/src/main/java/io/opentelemetry/exporter/logging/otlp/package-info.java +++ b/exporters/logging-otlp/src/main/java/io/opentelemetry/exporter/logging/otlp/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporters which writes spans or metrics to log using OTLP JSON format. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.logging.otlp; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/logging/build.gradle.kts b/exporters/logging/build.gradle.kts index 60cb832c131..d90d823039f 100644 --- a/exporters/logging/build.gradle.kts +++ b/exporters/logging/build.gradle.kts @@ -13,5 +13,7 @@ dependencies { api(project(":sdk:metrics")) api(project(":sdk:logs")) + compileOnly("org.osgi:osgi.annotation") + testImplementation(project(":sdk:testing")) } diff --git a/exporters/logging/src/main/java/io/opentelemetry/exporter/logging/package-info.java b/exporters/logging/src/main/java/io/opentelemetry/exporter/logging/package-info.java index 6b9026d33f9..92e24a47dcf 100644 --- a/exporters/logging/src/main/java/io/opentelemetry/exporter/logging/package-info.java +++ b/exporters/logging/src/main/java/io/opentelemetry/exporter/logging/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.logging; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/all/build.gradle.kts b/exporters/otlp/all/build.gradle.kts index 35fb7695015..b6c0f90547c 100644 --- a/exporters/otlp/all/build.gradle.kts +++ b/exporters/otlp/all/build.gradle.kts @@ -16,6 +16,7 @@ dependencies { implementation(project(":exporters:otlp:common")) + compileOnly("org.osgi:osgi.annotation") compileOnly("io.grpc:grpc-stub") testImplementation(project(":exporters:otlp:testing-internal")) diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/metrics/package-info.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/metrics/package-info.java index cc2962819f5..b34f217f1f5 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/metrics/package-info.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/metrics/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends metric data to OpenTelemetry collector via OTLP HTTP. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.http.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/trace/package-info.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/trace/package-info.java index 06b040d8ac9..8e6073a46d9 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/trace/package-info.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/http/trace/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends span data to OpenTelemetry collector via OTLP HTTP. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.http.trace; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/metrics/package-info.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/metrics/package-info.java index a8cf08fd317..9cb37c05348 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/metrics/package-info.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/metrics/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends metric data to OpenTelemetry collector via OTLP gRPC. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/trace/package-info.java b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/trace/package-info.java index 4e4feceba8f..231895b5af9 100644 --- a/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/trace/package-info.java +++ b/exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/trace/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends span data to OpenTelemetry collector via OTLP gRPC. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.trace; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/build.gradle.kts b/exporters/otlp/common/build.gradle.kts index f525c21ab75..6958d70ce55 100644 --- a/exporters/otlp/common/build.gradle.kts +++ b/exporters/otlp/common/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { api(project(":api:all")) + compileOnly("org.osgi:osgi.annotation") compileOnly(project(":sdk:metrics")) compileOnly(project(":sdk:trace")) compileOnly(project(":sdk:logs")) diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/grpc/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/grpc/package-info.java index 0cd0055cbbe..3d0f3844cbf 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/grpc/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/grpc/package-info.java @@ -5,6 +5,8 @@ /** Utilities for gRPC exporters. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.grpc; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/marshal/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/marshal/package-info.java index f44ed0e8637..07aeab244a8 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/marshal/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/marshal/package-info.java @@ -5,6 +5,8 @@ /** Marshaling framework for serializing data to protobuf format. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.marshal; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/okhttp/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/okhttp/package-info.java index fa262be08bb..86c06f89207 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/okhttp/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/okhttp/package-info.java @@ -5,6 +5,8 @@ /** Utilities for HTTP exporters. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.okhttp; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/package-info.java index 42443ec21df..a644d36e273 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/package-info.java @@ -5,6 +5,8 @@ /** Marshaling of OTLP logs. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.otlp.logs; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/package-info.java index 80a0df7c824..fb544d04682 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/package-info.java @@ -5,6 +5,8 @@ /** Marshaling of OTLP metrics. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.otlp.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/package-info.java index 6a84a432e84..9baefaf9b7a 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/package-info.java @@ -10,6 +10,8 @@ * at any time. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.otlp; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/package-info.java index be46733799b..50fbae2e4ad 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/package-info.java @@ -5,6 +5,8 @@ /** Marshaling of OTLP traces. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.otlp.traces; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/package-info.java index 57d877e3d4d..0342e2c728a 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/package-info.java @@ -5,6 +5,8 @@ /** Internal utilities for exporters. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/retry/package-info.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/retry/package-info.java index 7564da39e60..859147c959b 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/retry/package-info.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/retry/package-info.java @@ -5,6 +5,8 @@ /** Logic for retrying of export requests. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.internal.retry; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/logs/build.gradle.kts b/exporters/otlp/logs/build.gradle.kts index 5bd66a0a0f3..19f5f636de5 100644 --- a/exporters/otlp/logs/build.gradle.kts +++ b/exporters/otlp/logs/build.gradle.kts @@ -13,6 +13,7 @@ dependencies { implementation(project(":exporters:otlp:common")) + compileOnly("org.osgi:osgi.annotation") compileOnly("io.grpc:grpc-stub") testImplementation(project(":exporters:otlp:testing-internal")) diff --git a/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/http/logs/package-info.java b/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/http/logs/package-info.java index 000c99070f7..8e698d4fb43 100644 --- a/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/http/logs/package-info.java +++ b/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/http/logs/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends log data to OpenTelemetry collector via OTLP HTTP. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.http.logs; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/logs/package-info.java b/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/logs/package-info.java index 218c6860905..e62358f97ae 100644 --- a/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/logs/package-info.java +++ b/exporters/otlp/logs/src/main/java/io/opentelemetry/exporter/otlp/logs/package-info.java @@ -5,6 +5,8 @@ /** OpenTelemetry exporter which sends span data to OpenTelemetry collector via OTLP gRPC. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.otlp.logs; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/prometheus/build.gradle.kts b/exporters/prometheus/build.gradle.kts index 81ca190fa0b..d41159c76b7 100644 --- a/exporters/prometheus/build.gradle.kts +++ b/exporters/prometheus/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { api(project(":sdk:metrics")) compileOnly("com.sun.net.httpserver:http") + compileOnly("org.osgi:osgi.annotation") testImplementation("com.google.guava:guava") testImplementation("com.linecorp.armeria:armeria") diff --git a/exporters/prometheus/src/main/java/io/opentelemetry/exporter/prometheus/package-info.java b/exporters/prometheus/src/main/java/io/opentelemetry/exporter/prometheus/package-info.java index d95c2e8582f..14ee07a778b 100644 --- a/exporters/prometheus/src/main/java/io/opentelemetry/exporter/prometheus/package-info.java +++ b/exporters/prometheus/src/main/java/io/opentelemetry/exporter/prometheus/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.prometheus; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/exporters/zipkin/build.gradle.kts b/exporters/zipkin/build.gradle.kts index c2ac76cde0f..38f61e1defe 100644 --- a/exporters/zipkin/build.gradle.kts +++ b/exporters/zipkin/build.gradle.kts @@ -13,6 +13,8 @@ dependencies { api("io.zipkin.reporter2:zipkin-reporter") + compileOnly("org.osgi:osgi.annotation") + implementation(project(":semconv")) implementation("io.zipkin.reporter2:zipkin-sender-okhttp3") diff --git a/exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/package-info.java b/exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/package-info.java index 8e03649dd64..f400ea6a4c9 100644 --- a/exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/package-info.java +++ b/exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.exporter.zipkin; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/autoconfigure-spi/build.gradle.kts b/sdk-extensions/autoconfigure-spi/build.gradle.kts index 66dd7b32f04..877dbf8c6b8 100644 --- a/sdk-extensions/autoconfigure-spi/build.gradle.kts +++ b/sdk-extensions/autoconfigure-spi/build.gradle.kts @@ -9,6 +9,8 @@ otelJava.moduleName.set("io.opentelemetry.sdk.autoconfigure.spi") dependencies { api(project(":sdk:all")) + compileOnly("org.osgi:osgi.annotation") + // implementation dependency to require users to add the artifact directly to their build to use // SdkMeterProviderBuilder. implementation(project(":sdk:metrics")) diff --git a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/metrics/package-info.java b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/metrics/package-info.java index 37cb33b0191..24b628096a0 100644 --- a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/metrics/package-info.java +++ b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/metrics/package-info.java @@ -8,6 +8,8 @@ * metrics. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.autoconfigure.spi.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/package-info.java b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/package-info.java index 179cffdf2a8..d0ce4b4afc6 100644 --- a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/package-info.java +++ b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/package-info.java @@ -5,6 +5,8 @@ /** Java SPI (Service Provider Interface) for implementing extensions to SDK autoconfiguration. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.autoconfigure.spi; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/traces/package-info.java b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/traces/package-info.java index 5af9d92b268..fb8b32495f7 100644 --- a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/traces/package-info.java +++ b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/traces/package-info.java @@ -8,6 +8,8 @@ * traces. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.autoconfigure.spi.traces; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/autoconfigure/build.gradle.kts b/sdk-extensions/autoconfigure/build.gradle.kts index ed74b3b83f1..778b0782050 100644 --- a/sdk-extensions/autoconfigure/build.gradle.kts +++ b/sdk-extensions/autoconfigure/build.gradle.kts @@ -14,6 +14,8 @@ dependencies { implementation(project(":semconv")) + compileOnly("org.osgi:osgi.annotation") + compileOnly(project(":exporters:jaeger")) compileOnly(project(":exporters:logging")) compileOnly(project(":exporters:otlp:all")) diff --git a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/package-info.java b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/package-info.java index c416b60ccf8..80decc74b6c 100644 --- a/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/package-info.java +++ b/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/package-info.java @@ -4,6 +4,8 @@ */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.autoconfigure; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/aws/build.gradle.kts b/sdk-extensions/aws/build.gradle.kts index e185d54f766..7135b4008b5 100644 --- a/sdk-extensions/aws/build.gradle.kts +++ b/sdk-extensions/aws/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { api(project(":api:all")) api(project(":sdk:all")) + compileOnly("org.osgi:osgi.annotation") compileOnly(project(":sdk-extensions:autoconfigure")) annotationProcessor("com.google.auto.value:auto-value") diff --git a/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/resource/package-info.java b/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/resource/package-info.java index 00f61ac2263..52572d0f1d1 100644 --- a/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/resource/package-info.java +++ b/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/resource/package-info.java @@ -8,6 +8,8 @@ * resource information for AWS services. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.aws.resource; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/trace/package-info.java b/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/trace/package-info.java index 74a856bfca6..5e64796512c 100644 --- a/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/trace/package-info.java +++ b/sdk-extensions/aws/src/main/java/io/opentelemetry/sdk/extension/aws/trace/package-info.java @@ -5,6 +5,8 @@ /** Provides implementations of SDK interfaces which integrate natively with AWS infrastructure. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.aws.trace; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/jaeger-remote-sampler/build.gradle.kts b/sdk-extensions/jaeger-remote-sampler/build.gradle.kts index 270de3c1463..adce9a3eb19 100644 --- a/sdk-extensions/jaeger-remote-sampler/build.gradle.kts +++ b/sdk-extensions/jaeger-remote-sampler/build.gradle.kts @@ -13,6 +13,7 @@ otelJava.moduleName.set("io.opentelemetry.sdk.extension.trace.jaeger") dependencies { api(project(":sdk:all")) compileOnly(project(":sdk-extensions:autoconfigure")) + compileOnly("org.osgi:osgi.annotation") implementation(project(":sdk:all")) diff --git a/sdk-extensions/jaeger-remote-sampler/src/main/java/io/opentelemetry/sdk/extension/trace/jaeger/sampler/package-info.java b/sdk-extensions/jaeger-remote-sampler/src/main/java/io/opentelemetry/sdk/extension/trace/jaeger/sampler/package-info.java index 1e8fddf2b40..814f50e9d15 100644 --- a/sdk-extensions/jaeger-remote-sampler/src/main/java/io/opentelemetry/sdk/extension/trace/jaeger/sampler/package-info.java +++ b/sdk-extensions/jaeger-remote-sampler/src/main/java/io/opentelemetry/sdk/extension/trace/jaeger/sampler/package-info.java @@ -5,6 +5,8 @@ /** Support for the Jaeger remote sampler. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.trace.jaeger.sampler; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/jfr-events/build.gradle.kts b/sdk-extensions/jfr-events/build.gradle.kts index c45dc715b03..08e329b1eaf 100644 --- a/sdk-extensions/jfr-events/build.gradle.kts +++ b/sdk-extensions/jfr-events/build.gradle.kts @@ -7,6 +7,8 @@ description = "OpenTelemetry SDK Extension JFR" otelJava.moduleName.set("io.opentelemetry.sdk.extension.jfr") dependencies { + compileOnly("org.osgi:osgi.annotation") + implementation(project(":api:all")) implementation(project(":sdk:all")) } diff --git a/sdk-extensions/jfr-events/src/main/java/io/opentelemetry/sdk/extension/jfr/package-info.java b/sdk-extensions/jfr-events/src/main/java/io/opentelemetry/sdk/extension/jfr/package-info.java index ac7889ff0e5..d3a6457bd2a 100644 --- a/sdk-extensions/jfr-events/src/main/java/io/opentelemetry/sdk/extension/jfr/package-info.java +++ b/sdk-extensions/jfr-events/src/main/java/io/opentelemetry/sdk/extension/jfr/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.sdk.extension.jfr.JfrSpanProcessor */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.jfr; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/resources/build.gradle.kts b/sdk-extensions/resources/build.gradle.kts index 51db76b723e..31e3fd9134f 100644 --- a/sdk-extensions/resources/build.gradle.kts +++ b/sdk-extensions/resources/build.gradle.kts @@ -16,6 +16,7 @@ dependencies { implementation(project(":semconv")) compileOnly(project(":sdk-extensions:autoconfigure")) + compileOnly("org.osgi:osgi.annotation") compileOnly("org.codehaus.mojo:animal-sniffer-annotations") } diff --git a/sdk-extensions/resources/src/main/java/io/opentelemetry/sdk/extension/resources/package-info.java b/sdk-extensions/resources/src/main/java/io/opentelemetry/sdk/extension/resources/package-info.java index 9d134a78cd1..c4d4fd2d21c 100644 --- a/sdk-extensions/resources/src/main/java/io/opentelemetry/sdk/extension/resources/package-info.java +++ b/sdk-extensions/resources/src/main/java/io/opentelemetry/sdk/extension/resources/package-info.java @@ -8,6 +8,8 @@ * resource information. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.resources; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk-extensions/zpages/build.gradle.kts b/sdk-extensions/zpages/build.gradle.kts index 16143f99bb5..3f39a26548f 100644 --- a/sdk-extensions/zpages/build.gradle.kts +++ b/sdk-extensions/zpages/build.gradle.kts @@ -16,5 +16,6 @@ dependencies { testImplementation("com.google.guava:guava") + compileOnly("org.osgi:osgi.annotation") compileOnly("com.sun.net.httpserver:http") } diff --git a/sdk-extensions/zpages/src/main/java/io/opentelemetry/sdk/extension/zpages/package-info.java b/sdk-extensions/zpages/src/main/java/io/opentelemetry/sdk/extension/zpages/package-info.java index b5de275da60..b510efe8be8 100644 --- a/sdk-extensions/zpages/src/main/java/io/opentelemetry/sdk/extension/zpages/package-info.java +++ b/sdk-extensions/zpages/src/main/java/io/opentelemetry/sdk/extension/zpages/package-info.java @@ -7,6 +7,8 @@ * The ZPages endpoint for providing debug information about an app instrumented with OpenTelemetry. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.extension.zpages; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/all/build.gradle.kts b/sdk/all/build.gradle.kts index 2aa81a4300b..d69d8e5ab67 100644 --- a/sdk/all/build.gradle.kts +++ b/sdk/all/build.gradle.kts @@ -16,6 +16,8 @@ dependencies { api(project(":sdk:trace")) api(project(":sdk:metrics")) + compileOnly("org.osgi:osgi.annotation") + // implementation dependency to require users to add the artifact directly to their build to use // SdkLogEmitterProvider. implementation(project(":sdk:logs")) diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/package-info.java b/sdk/all/src/main/java/io/opentelemetry/sdk/package-info.java index f14dcf4b64f..453dea2ee33 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/package-info.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.sdk.OpenTelemetrySdk */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/common/build.gradle.kts b/sdk/common/build.gradle.kts index bec2d637cf8..62fc25106e9 100644 --- a/sdk/common/build.gradle.kts +++ b/sdk/common/build.gradle.kts @@ -1,3 +1,4 @@ + plugins { id("otel.java-conventions") id("otel.publish-conventions") @@ -13,6 +14,8 @@ val mrJarVersions = listOf(9) dependencies { api(project(":api:all")) + compileOnly("org.osgi:osgi.annotation") + implementation(project(":semconv")) annotationProcessor("com.google.auto.value:auto-value") diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/common/export/package-info.java b/sdk/common/src/main/java/io/opentelemetry/sdk/common/export/package-info.java index da5199debbd..63b7af1e505 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/common/export/package-info.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/common/export/package-info.java @@ -5,6 +5,8 @@ /** Common utilities used by SDK exporters. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.common.export; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/common/package-info.java b/sdk/common/src/main/java/io/opentelemetry/sdk/common/package-info.java index 9182e0448e9..176518dc022 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/common/package-info.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/common/package-info.java @@ -5,6 +5,8 @@ /** Common utilities used by all SDK components. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.common; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/internal/package-info.java b/sdk/common/src/main/java/io/opentelemetry/sdk/internal/package-info.java index ca31e897eb9..16945c190bd 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/internal/package-info.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/internal/package-info.java @@ -10,6 +10,8 @@ * API, and must not be used by users of the OpenTelemetry library. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.internal; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/resources/package-info.java b/sdk/common/src/main/java/io/opentelemetry/sdk/resources/package-info.java index f905c4c3f6f..42d6cbbcb41 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/resources/package-info.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/resources/package-info.java @@ -17,6 +17,8 @@ * k8s.io/namespace/name. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.resources; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/logs/build.gradle.kts b/sdk/logs/build.gradle.kts index 5773999a8d4..99babbfcadc 100644 --- a/sdk/logs/build.gradle.kts +++ b/sdk/logs/build.gradle.kts @@ -11,6 +11,8 @@ otelJava.moduleName.set("io.opentelemetry.sdk.extension.logging") dependencies { api(project(":sdk:common")) + compileOnly("org.osgi:osgi.annotation") + testImplementation(project(":sdk:logs-testing")) testImplementation("org.awaitility:awaitility") diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/data/package-info.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/data/package-info.java index 00cd9fba780..5f652616117 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/data/package-info.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/data/package-info.java @@ -5,6 +5,8 @@ /** The data format to model logs for export. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.logs.data; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/package-info.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/package-info.java index e05d0e9e7ee..0d76423e6e3 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/package-info.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/package-info.java @@ -5,6 +5,8 @@ /** Log exporters. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.logs.export; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java index 3382f24ef97..03629b470d3 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.sdk.logs.SdkLogEmitterProvider */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.logs; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/build.gradle.kts b/sdk/metrics/build.gradle.kts index a9ef2556a76..f9dc326aa2d 100644 --- a/sdk/metrics/build.gradle.kts +++ b/sdk/metrics/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { api(project(":sdk:common")) compileOnly("org.codehaus.mojo:animal-sniffer-annotations") + compileOnly("org.osgi:osgi.annotation") annotationProcessor("com.google.auto.value:auto-value") diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/data/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/data/package-info.java index 218a6cb2ad5..5744a9a59ae 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/data/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/data/package-info.java @@ -5,6 +5,8 @@ /** Classes which form the in-memory representation of the OpenTelemetry metrics data model. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics.data; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/export/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/export/package-info.java index 6a60ff33173..b469aeca696 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/export/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/export/package-info.java @@ -8,6 +8,8 @@ * io.opentelemetry.sdk.metrics.SdkMeterProvider}. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics.export; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/exponentialhistogram/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/exponentialhistogram/package-info.java index fe1f2bd69b0..7404821ec91 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/exponentialhistogram/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/exponentialhistogram/package-info.java @@ -5,6 +5,8 @@ /** The data format to model exponential histograms for export. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics.internal.data.exponentialhistogram; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/package-info.java index e6c6783a4ef..e9666cbcb5f 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/data/package-info.java @@ -5,6 +5,8 @@ /** The data format to model metrics for export. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics.internal.data; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/exemplar/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/exemplar/package-info.java index 0274f7853dd..2730eaa8362 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/exemplar/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/exemplar/package-info.java @@ -5,6 +5,8 @@ /** Metric exemplar extension points. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics.internal.exemplar; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/export/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/export/package-info.java new file mode 100644 index 00000000000..2da7c0a29ec --- /dev/null +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/export/package-info.java @@ -0,0 +1,7 @@ + +@ParametersAreNonnullByDefault +@Export +package io.opentelemetry.sdk.metrics.internal.export; + +import javax.annotation.ParametersAreNonnullByDefault; +import org.osgi.annotation.bundle.Export; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/package-info.java new file mode 100644 index 00000000000..9fb67561c44 --- /dev/null +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/package-info.java @@ -0,0 +1,14 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/** + * The SDK implementation of metrics internal. + * + * @see io.opentelemetry.sdk.metrics.SdkMeterProvider + */ +@Export +package io.opentelemetry.sdk.metrics.internal; + +import org.osgi.annotation.bundle.Export; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/package-info.java new file mode 100644 index 00000000000..0762a24f0ae --- /dev/null +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/package-info.java @@ -0,0 +1,12 @@ +/** + * The SDK internal state for metrics. + * + * Note: This package is under an internal path however classes within this package + * such as CallbackRegistration are present on public constructors such as SdkObservableInstrument + */ +@ParametersAreNonnullByDefault +@Export +package io.opentelemetry.sdk.metrics.internal.state; + +import org.osgi.annotation.bundle.Export; +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/view/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/view/package-info.java new file mode 100644 index 00000000000..229f9b01341 --- /dev/null +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/view/package-info.java @@ -0,0 +1,8 @@ + +@ParametersAreNonnullByDefault +@Export +package io.opentelemetry.sdk.metrics.internal.view; + +import org.osgi.annotation.bundle.Export; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/package-info.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/package-info.java index 683f8f5f5b3..074d8cd4a58 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/package-info.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.sdk.metrics.SdkMeterProvider */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.metrics; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/trace/build.gradle.kts b/sdk/trace/build.gradle.kts index 430ec20f1e5..49814ba921a 100644 --- a/sdk/trace/build.gradle.kts +++ b/sdk/trace/build.gradle.kts @@ -22,6 +22,7 @@ dependencies { api(project(":api:all")) api(project(":sdk:common")) + compileOnly("org.osgi:osgi.annotation") compileOnly(project(":sdk:trace-shaded-deps")) implementation(project(":semconv")) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/data/package-info.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/data/package-info.java index e154828b5e6..13b9d136a51 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/data/package-info.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/data/package-info.java @@ -5,6 +5,8 @@ /** The data format to model traces for export. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.trace.data; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/package-info.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/package-info.java index 6609498d866..ba06e6d2bb2 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/package-info.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/package-info.java @@ -20,6 +20,8 @@ * environment variables with the use of the opentelemetry-autoconfiguration module. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.trace.export; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/internal/data/package-info.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/internal/data/package-info.java index bab18f74550..9249caad830 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/internal/data/package-info.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/internal/data/package-info.java @@ -10,6 +10,8 @@ * API, and must not be used by users of the OpenTelemetry library. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.trace.internal.data; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/package-info.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/package-info.java index ce65eaf3477..bebfda84b26 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/package-info.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.sdk.trace.SdkTracerProvider */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.trace; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/package-info.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/package-info.java index a3f5e2c420f..a36d78d63f8 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/package-info.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/package-info.java @@ -35,6 +35,8 @@ * method. */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.sdk.trace.samplers; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/semconv/build.gradle.kts b/semconv/build.gradle.kts index 6ddee0bd7b2..d13cfdb5236 100644 --- a/semconv/build.gradle.kts +++ b/semconv/build.gradle.kts @@ -10,4 +10,5 @@ otelJava.moduleName.set("io.opentelemetry.semconv") dependencies { api(project(":api:all")) + compileOnly("org.osgi:osgi.annotation") } diff --git a/semconv/src/main/java/io/opentelemetry/semconv/resource/attributes/package-info.java b/semconv/src/main/java/io/opentelemetry/semconv/resource/attributes/package-info.java index d893dd794bf..15e565dd5ff 100644 --- a/semconv/src/main/java/io/opentelemetry/semconv/resource/attributes/package-info.java +++ b/semconv/src/main/java/io/opentelemetry/semconv/resource/attributes/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.semconv.resource.attributes.ResourceAttributes */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.semconv.resource.attributes; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/semconv/src/main/java/io/opentelemetry/semconv/trace/attributes/package-info.java b/semconv/src/main/java/io/opentelemetry/semconv/trace/attributes/package-info.java index 15f7b0cb460..b62df6d60bd 100644 --- a/semconv/src/main/java/io/opentelemetry/semconv/trace/attributes/package-info.java +++ b/semconv/src/main/java/io/opentelemetry/semconv/trace/attributes/package-info.java @@ -9,6 +9,8 @@ * @see io.opentelemetry.semconv.trace.attributes.SemanticAttributes */ @ParametersAreNonnullByDefault +@Export package io.opentelemetry.semconv.trace.attributes; +import org.osgi.annotation.bundle.Export; import javax.annotation.ParametersAreNonnullByDefault;