diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index c6076a5..e3eeb03 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -18,6 +18,7 @@ repositories { dependencies { implementation(buildlibs.plugin.publish) implementation(buildlibs.kotlin) + implementation(buildlibs.gradle.compatibility.plugin) implementation(buildlibs.nebula.apache.license) implementation(buildlibs.reproducible.builds) implementation(buildlibs.spotless) diff --git a/gradle/buildlibs.versions.toml b/gradle/buildlibs.versions.toml index 1d23efc..fb18b54 100644 --- a/gradle/buildlibs.versions.toml +++ b/gradle/buildlibs.versions.toml @@ -5,6 +5,7 @@ spotless = "8.4.0" [libraries] spotless = { module = "com.diffplug.spotless:com.diffplug.spotless.gradle.plugin", version.ref = "spotless" } plugin-publish = { module = "com.gradle.plugin-publish:com.gradle.plugin-publish.gradle.plugin", version = "2.1.1"} +gradle-compatibility-plugin = { module = "org.gradle.plugin-compatibility:org.gradle.plugin-compatibility.gradle.plugin", version = "1.0.0" } kotlin = { module = "org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin", version = "2.3.20" } nebula-apache-license = { module = "com.netflix.nebula.maven-apache-license:com.netflix.nebula.maven-apache-license.gradle.plugin", version = "23.1.0"} reproducible-builds = { module = "org.gradlex.reproducible-builds:org.gradlex.reproducible-builds.gradle.plugin", version.ref = "reproducible-builds" } diff --git a/otel/build.gradle.kts b/otel/build.gradle.kts index db66b27..00348d6 100644 --- a/otel/build.gradle.kts +++ b/otel/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.plugin.compatibility.compatibility + plugins { id("com.ryandens.plugin-conventions") } @@ -21,6 +23,11 @@ gradlePlugin { """.trimIndent() implementationClass = "com.ryandens.javaagent.otel.JavaagentOTelModificationPlugin" tags.set(listOf("otel", "instrumentation", "observability")) + compatibility { + features { + configurationCache = true + } + } } } } diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts index acd98ad..43d959c 100644 --- a/plugin/build.gradle.kts +++ b/plugin/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.plugin.compatibility.compatibility + plugins { id("com.ryandens.plugin-conventions") } @@ -39,6 +41,11 @@ gradlePlugin { description = "Automatically attaches javaagents to the Application Plugin run tasks and the main application distributions" implementationClass = "com.ryandens.javaagent.JavaagentApplicationPlugin" tags.set(listOf("javaagent", "instrumentation", "application")) + compatibility { + features { + configurationCache = true + } + } } create("javaagentApplicationDistributionPlugin") { id = "com.ryandens.javaagent-application-distribution" @@ -46,6 +53,11 @@ gradlePlugin { description = "Automatically attaches javaagents to the Application Plugin distributions" implementationClass = "com.ryandens.javaagent.JavaagentApplicationDistributionPlugin" tags.set(listOf("javaagent", "instrumentation", "application")) + compatibility { + features { + configurationCache = true + } + } } create("javaagentApplicationRunPlugin") { id = "com.ryandens.javaagent-application-run" @@ -53,6 +65,11 @@ gradlePlugin { description = "Automatically attaches javaagents to the Application Plugin run tasks" implementationClass = "com.ryandens.javaagent.JavaagentApplicationRunPlugin" tags.set(listOf("javaagent", "instrumentation", "application")) + compatibility { + features { + configurationCache = true + } + } } create("javaagentJibPlugin") { id = "com.ryandens.javaagent-jib" @@ -60,6 +77,11 @@ gradlePlugin { description = "Automatically includes javaagents in OCI images created by Jib" implementationClass = "com.ryandens.javaagent.JavaagentJibExtension" tags.set(listOf("javaagent", "instrumentation", "docker", "jib")) + compatibility { + features { + configurationCache = true + } + } } create("javaagentTestPlugin") { id = "com.ryandens.javaagent-test" @@ -67,6 +89,11 @@ gradlePlugin { description = "Automatically attaches javaagents to the Java Plugin Test tasks" implementationClass = "com.ryandens.javaagent.JavaagentTestPlugin" tags.set(listOf("javaagent", "instrumentation", "test")) + compatibility { + features { + configurationCache = true + } + } } } }