Skip to content

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.kt into your buildSrc
  • Version updates come through normal dependency management
  • Consistent stoveTracing { } DSL with Gradle's Property<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

  1. Remove StoveTracingConfiguration.kt from your buildSrc/src/main/kotlin/ if you copied it
  2. 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:

// configureStoveTracing { ... }  ->  stoveTracing { ... }

No other changes are required.