Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@
{
// pinned version to Jetty 8 (Servlet 3.0) for compatibility
matchFileNames: [
'examples/distro/instrumentation/servlet-3/build.gradle',
'examples/distro/instrumentation/servlet-3/build.gradle.kts',
],
matchUpdateTypes: [
'major',
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/update-sdk-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ version=$1

sed -Ei "s/val otelSdkVersion = \"[^\"]*\"/val otelSdkVersion = \"$version\"/" dependencyManagement/build.gradle.kts

sed -Ei "s/(opentelemetrySdk *: )\"[^\"]*\"/\1\"$version\"/" examples/distro/build.gradle
sed -Ei "s/(const val opentelemetrySdkVersion = )\"[^\"]*\"/\1\"$version\"/" examples/distro/buildSrc/src/main/kotlin/Versions.kt

sed -Ei "s/(\"opentelemetrySdk\" to )\"[^\"]*\"/\1\"$version\"/" examples/extension/build.gradle.kts
9 changes: 4 additions & 5 deletions .github/scripts/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@ fi
sed -Ei "s/val stableVersion = \"[^\"]*\"/val stableVersion = \"$version\"/" version.gradle.kts
sed -Ei "s/val alphaVersion = \"[^\"]*\"/val alphaVersion = \"$alpha_version\"/" version.gradle.kts

sed -Ei "s/(opentelemetryJavaagent *: )\"[^\"]*\"/\1\"$version\"/" examples/distro/build.gradle
sed -Ei "s/(opentelemetryJavaagentAlpha *: )\"[^\"]*\"/\1\"$alpha_version\"/" examples/distro/build.gradle
sed -Ei "s/(const val opentelemetryJavaagentVersion = )\"[^\"]*\"/\1\"$version\"/" examples/distro/buildSrc/src/main/kotlin/Versions.kt
sed -Ei "s/(const val opentelemetryJavaagentAlphaVersion = )\"[^\"]*\"/\1\"$alpha_version\"/" examples/distro/buildSrc/src/main/kotlin/Versions.kt

sed -Ei "s/(classpath \"io.opentelemetry.instrumentation:gradle-plugins:)[^\"]*\"/\1$alpha_version\"/" examples/distro/build.gradle
sed -Ei "s/(io.opentelemetry.instrumentation.muzzle-(generation|check)\"\) version )\"[^\"]*\"/\1\"$alpha_version\"/" examples/distro/settings.gradle.kts

sed -Ei "s/(\"opentelemetryJavaagent\" to )\"[^\"]*\"/\1\"$version\"/" examples/extension/build.gradle.kts
sed -Ei "s/(\"opentelemetryJavaagentAlpha\" to )\"[^\"]*\"/\1\"$alpha_version\"/" examples/extension/build.gradle.kts

sed -Ei "s/(io.opentelemetry.instrumentation.muzzle-generation\"\) version )\"[^\"]*\"/\1\"$alpha_version\"/" examples/extension/build.gradle.kts
sed -Ei "s/(io.opentelemetry.instrumentation.muzzle-check\"\) version )\"[^\"]*\"/\1\"$alpha_version\"/" examples/extension/build.gradle.kts
sed -Ei "s/(io.opentelemetry.instrumentation.muzzle-(generation|check)\"\) version )\"[^\"]*\"/\1\"$alpha_version\"/" examples/extension/build.gradle.kts

sed -Ei "1 s/(Comparing source compatibility of [a-z-]+)-[0-9]+\.[0-9]+\.[0-9]+(-SNAPSHOT)?.jar/\1-$version.jar/" docs/apidiffs/current_vs_latest/*.txt
134 changes: 0 additions & 134 deletions examples/distro/agent/build.gradle

This file was deleted.

12 changes: 12 additions & 0 deletions examples/distro/agent/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plugins {
id("otel.javaagent-shadow-conventions")
}

dependencies {
bootstrapLibs(project(":bootstrap"))

javaagentLibs(project(":custom"))
javaagentLibs(project(":instrumentation:servlet-3"))

upstreamAgent("io.opentelemetry.javaagent:opentelemetry-javaagent:$opentelemetryJavaagentVersion")
}
6 changes: 0 additions & 6 deletions examples/distro/bootstrap/build.gradle

This file was deleted.

3 changes: 3 additions & 0 deletions examples/distro/bootstrap/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("otel.java-conventions")
}
87 changes: 0 additions & 87 deletions examples/distro/build.gradle

This file was deleted.

2 changes: 2 additions & 0 deletions examples/distro/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
group = "io.opentelemetry.example"
version = "1.0-SNAPSHOT"
13 changes: 13 additions & 0 deletions examples/distro/buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
gradlePluginPortal()
}

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:8.4.0")
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.4.1")
}
5 changes: 5 additions & 0 deletions examples/distro/buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pluginManagement {
repositories {
gradlePluginPortal()
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
ext.relocatePackages = { shadowJar ->
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

fun relocatePackages(shadowJar: ShadowJar) {
// rewrite dependencies calling Logger.getLogger
shadowJar.relocate("java.util.logging.Logger", "io.opentelemetry.javaagent.bootstrap.PatchLogger")

Expand Down
8 changes: 8 additions & 0 deletions examples/distro/buildSrc/src/main/kotlin/Versions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// this line is managed by .github/scripts/update-sdk-version.sh
const val opentelemetrySdkVersion = "1.61.0"

// these lines are managed by .github/scripts/update-version.sh
const val opentelemetryJavaagentVersion = "2.28.0-SNAPSHOT"
const val opentelemetryJavaagentAlphaVersion = "2.28.0-alpha-SNAPSHOT"

const val autoserviceVersion = "1.1.1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
plugins {
id("otel.java-conventions")
id("com.gradleup.shadow")
}

val testInstrumentation by configurations.creating
val testAgent by configurations.creating

dependencies {
compileOnly("io.opentelemetry:opentelemetry-sdk")
compileOnly("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api")
compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api")

annotationProcessor("com.google.auto.service:auto-service:$autoserviceVersion")
compileOnly("com.google.auto.service:auto-service-annotations:$autoserviceVersion")

// the javaagent that is going to be used when running instrumentation unit tests
testAgent(project(path = ":testing:agent-for-testing", configuration = "shadow"))
// test dependencies
testImplementation("io.opentelemetry.javaagent:opentelemetry-testing-common")
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
testImplementation("org.assertj:assertj-core:3.27.7")
}

tasks.shadowJar {
configurations = listOf(project.configurations.runtimeClasspath.get(), testInstrumentation)

mergeServiceFiles()
// mergeServiceFiles requires that duplicate strategy is set to include
filesMatching("META-INF/services/**") {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}

archiveFileName.set("agent-testing.jar")

relocatePackages(this)
}

tasks.withType<Test>().configureEach {
val initializerJar = tasks.shadowJar.flatMap { it.archiveFile }.map { it.asFile }
val agentJar = testAgent.elements.map { it.first().asFile }

jvmArgs("-Dotel.javaagent.debug=true")
jvmArgs("-Dotel.javaagent.testing.additional-library-ignores.enabled=false")
jvmArgs("-Dotel.javaagent.testing.fail-on-context-leak=true")
// prevent sporadic gradle deadlocks, see SafeLogger for more details
jvmArgs("-Dotel.javaagent.testing.transform-safe-logging.enabled=true")

jvmArgumentProviders.add(JavaagentProvider(agentJar, initializerJar))

// The sources are packaged into the testing jar so we need to make sure to exclude from the test
// classpath, which automatically inherits them, to ensure our shaded versions are used.
val resourcesMain = layout.buildDirectory.dir("resources/main").get().asFile
val classesMain = layout.buildDirectory.dir("classes/java/main").get().asFile
classpath = classpath.filter {
it != resourcesMain && it != classesMain
}
}

class JavaagentProvider(
@get:InputFile
@get:PathSensitive(PathSensitivity.RELATIVE)
val agentJar: Provider<File>,
@get:InputFile
@get:PathSensitive(PathSensitivity.RELATIVE)
val initializerJar: Provider<File>,
) : CommandLineArgumentProvider {
override fun asArguments(): Iterable<String> = listOf(
"-javaagent:${agentJar.get().absolutePath}",
"-Dotel.javaagent.experimental.initializer.jar=${initializerJar.get().absolutePath}",
)
}
Loading
Loading