0.21.2¶
Released: February 2026
This release introduces the Stove Tracing Gradle Plugin, a standalone plugin that replaces the copy-paste buildSrc approach for configuring OpenTelemetry tracing in your tests.
New Features¶
Stove Tracing Gradle Plugin¶
The tracing build configuration is now available as a proper Gradle plugin, published to Maven Central.
plugins {
id("com.trendyol.stove.tracing") version "0.21.2"
}
stoveTracing {
serviceName.set("my-service")
}
The plugin handles everything: downloading the OpenTelemetry Java Agent, configuring JVM arguments, attaching the agent to your test tasks, and dynamically assigning ports so parallel test runs don't conflict.
Why a plugin?
- No need to copy
StoveTracingConfiguration.ktinto yourbuildSrc - Version updates come through normal dependency management
- Consistent
stoveTracing { }DSL with Gradle'sProperty<T>conventions - Published alongside all other Stove artifacts
Availability:
| Channel | Coordinates |
|---|---|
| Maven Central | com.trendyol:stove-tracing-gradle-plugin |
| Maven Central Snapshots | com.trendyol:stove-tracing-gradle-plugin (snapshot versions) |
Add mavenCentral() to your pluginManagement repositories. For snapshot versions, also add the snapshot repository:
// settings.gradle.kts
pluginManagement {
repositories {
mavenCentral()
maven("https://central.sonatype.com/repository/maven-snapshots") // only for snapshots
gradlePluginPortal()
}
}
See the Tracing documentation for full configuration options.
Breaking Changes¶
configureStoveTracing renamed to stoveTracing¶
The buildSrc copy-paste function has been renamed from configureStoveTracing to stoveTracing for consistency with the plugin DSL. If you are using the buildSrc approach, update your build scripts:
// Before
import com.trendyol.stove.gradle.configureStoveTracing
configureStoveTracing {
serviceName = "my-service"
}
// After
import com.trendyol.stove.gradle.stoveTracing
stoveTracing {
serviceName = "my-service"
}
If you are migrating to the plugin, the DSL name is the same (stoveTracing { }), but properties use Gradle's Property<T> API:
// buildSrc style
stoveTracing {
serviceName = "my-service"
testTaskNames = listOf("integrationTest")
}
// Plugin style
stoveTracing {
serviceName.set("my-service")
testTaskNames.set(listOf("integrationTest"))
}
Migration Guide¶
From 0.21.x to 0.21.2¶
Migrating to the Gradle plugin (recommended)¶
- Remove
StoveTracingConfiguration.ktfrom yourbuildSrc/src/main/kotlin/if you copied it - Apply the plugin in your
build.gradle.kts:
plugins {
id("com.trendyol.stove.tracing") version "0.21.2"
}
stoveTracing {
serviceName.set("my-service")
}
Staying with buildSrc¶
If you prefer to keep the buildSrc approach, rename the function call:
No other changes are required.