From b2b1eb19e1a4d6c69a400ce5a136ee34ec97a8f1 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 13 Sep 2023 18:54:25 -0700 Subject: [PATCH] Add semconv to alpha bom (#9425) --- bom-alpha/build.gradle.kts | 7 +++++++ .../instrumentation/gradle/OtelBomExtension.kt | 5 +++++ .../src/main/kotlin/otel.bom-conventions.gradle.kts | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/bom-alpha/build.gradle.kts b/bom-alpha/build.gradle.kts index f1860b014e..f745f44ab7 100644 --- a/bom-alpha/build.gradle.kts +++ b/bom-alpha/build.gradle.kts @@ -14,6 +14,13 @@ dependencies { api(platform("io.opentelemetry:opentelemetry-bom")) api(platform("io.opentelemetry:opentelemetry-bom-alpha")) api(platform(project(":bom"))) + + // Get the semconv version from :dependencyManagement + val semconvConstraint = project(":dependencyManagement").dependencyProject.configurations["api"].allDependencyConstraints + .find { it.group.equals("io.opentelemetry.semconv") + && it.name.equals("opentelemetry-semconv") } + ?: throw Exception("semconv constraint not found") + otelBom.addExtra(semconvConstraint.group, semconvConstraint.name, semconvConstraint.version ?: throw Exception("missing version")) } otelBom.projectFilter.set { it.findProperty("otel.stable") != "true" } diff --git a/conventions/src/main/kotlin/io/opentelemetry/instrumentation/gradle/OtelBomExtension.kt b/conventions/src/main/kotlin/io/opentelemetry/instrumentation/gradle/OtelBomExtension.kt index 85029753de..861e4754ab 100644 --- a/conventions/src/main/kotlin/io/opentelemetry/instrumentation/gradle/OtelBomExtension.kt +++ b/conventions/src/main/kotlin/io/opentelemetry/instrumentation/gradle/OtelBomExtension.kt @@ -11,4 +11,9 @@ import java.util.function.Predicate abstract class OtelBomExtension { abstract val projectFilter: Property> + val additionalDependencies: MutableSet = hashSetOf() + + fun addExtra(groupId: String, artifactId: String, version: String) { + this.additionalDependencies.add(groupId + ":" + artifactId + ":" + version) + } } diff --git a/conventions/src/main/kotlin/otel.bom-conventions.gradle.kts b/conventions/src/main/kotlin/otel.bom-conventions.gradle.kts index 59095271fc..dc084cc1f2 100644 --- a/conventions/src/main/kotlin/otel.bom-conventions.gradle.kts +++ b/conventions/src/main/kotlin/otel.bom-conventions.gradle.kts @@ -31,6 +31,13 @@ afterEvaluate { } } } + otelBom.additionalDependencies.forEach { dependency -> + dependencies { + constraints { + api(dependency) + } + } + } } // this applies version numbers to the SDK bom and SDK alpha bom which are dependencies of the instrumentation boms