From ca119e9028cf5b26ce29dc48dcbd67cf3d995107 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 5 Feb 2026 13:32:26 -0800 Subject: [PATCH] Migrate buildSrc to conventions directory - Migrate all convention plugins from buildSrc/ to conventions/ - Remove buildSrc directory to align with upstream OpenTelemetry - Update settings.gradle.kts to use includeBuild("conventions") - Update .gitignore to ignore conventions/.gradle and .kotlin - Add Gradle alignment plan documentation This follows the upstream pattern of separating pure build logic (conventions/) from compiled plugins (gradle-plugins/ - to be added in future PR). Conventions are included as a composite build. --- .gitignore | 4 ++-- {buildSrc => conventions}/build.gradle.kts | 5 ----- conventions/settings.gradle.kts | 1 + .../src/main/kotlin/ai.errorprone-conventions.gradle.kts | 0 .../src/main/kotlin/ai.java-conventions.gradle.kts | 0 .../src/main/kotlin/ai.javaagent-instrumentation.gradle.kts | 0 .../src/main/kotlin/ai.publish-conventions.gradle.kts | 0 .../src/main/kotlin/ai.sdk-version-file.gradle.kts | 0 .../src/main/kotlin/ai.shadow-conventions.gradle.kts | 0 .../src/main/kotlin/ai.smoke-test-jar.gradle.kts | 0 .../src/main/kotlin/ai.smoke-test-war.gradle.kts | 0 .../src/main/kotlin/ai.smoke-test.gradle.kts | 0 .../src/main/kotlin/ai.spotbugs-conventions.gradle.kts | 0 .../src/main/kotlin/ai.spotless-conventions.gradle.kts | 0 .../applicationinsights/gradle/AiSmokeTestExtension.kt | 0 settings.gradle.kts | 1 + 16 files changed, 4 insertions(+), 7 deletions(-) rename {buildSrc => conventions}/build.gradle.kts (93%) create mode 100644 conventions/settings.gradle.kts rename {buildSrc => conventions}/src/main/kotlin/ai.errorprone-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.java-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.javaagent-instrumentation.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.publish-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.sdk-version-file.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.shadow-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.smoke-test-jar.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.smoke-test-war.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.smoke-test.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.spotbugs-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/ai.spotless-conventions.gradle.kts (100%) rename {buildSrc => conventions}/src/main/kotlin/com/microsoft/applicationinsights/gradle/AiSmokeTestExtension.kt (100%) diff --git a/.gitignore b/.gitignore index 37a233e35c0..af8696a0afb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ # Gradle /.gradle/ -/buildSrc/.gradle/ +/conventions/.gradle/ +/conventions/.kotlin/ /perf-tests/.gradle/ -/buildSrc/.kotlin/ build/ # Intellij diff --git a/buildSrc/build.gradle.kts b/conventions/build.gradle.kts similarity index 93% rename from buildSrc/build.gradle.kts rename to conventions/build.gradle.kts index 8d45a8da86b..7765064f984 100644 --- a/buildSrc/build.gradle.kts +++ b/conventions/build.gradle.kts @@ -1,5 +1,4 @@ plugins { - `java-gradle-plugin` `kotlin-dsl` // When updating, update below in dependencies too id("com.diffplug.spotless") version "8.2.0" @@ -22,10 +21,6 @@ repositories { gradlePluginPortal() } -tasks.withType().configureEach { - useJUnitPlatform() -} - dependencies { implementation(gradleApi()) diff --git a/conventions/settings.gradle.kts b/conventions/settings.gradle.kts new file mode 100644 index 00000000000..559d9de6514 --- /dev/null +++ b/conventions/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "conventions" diff --git a/buildSrc/src/main/kotlin/ai.errorprone-conventions.gradle.kts b/conventions/src/main/kotlin/ai.errorprone-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.errorprone-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.errorprone-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/conventions/src/main/kotlin/ai.java-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.java-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.javaagent-instrumentation.gradle.kts b/conventions/src/main/kotlin/ai.javaagent-instrumentation.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.javaagent-instrumentation.gradle.kts rename to conventions/src/main/kotlin/ai.javaagent-instrumentation.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.publish-conventions.gradle.kts b/conventions/src/main/kotlin/ai.publish-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.publish-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.publish-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.sdk-version-file.gradle.kts b/conventions/src/main/kotlin/ai.sdk-version-file.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.sdk-version-file.gradle.kts rename to conventions/src/main/kotlin/ai.sdk-version-file.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.shadow-conventions.gradle.kts b/conventions/src/main/kotlin/ai.shadow-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.shadow-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.shadow-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.smoke-test-jar.gradle.kts b/conventions/src/main/kotlin/ai.smoke-test-jar.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.smoke-test-jar.gradle.kts rename to conventions/src/main/kotlin/ai.smoke-test-jar.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.smoke-test-war.gradle.kts b/conventions/src/main/kotlin/ai.smoke-test-war.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.smoke-test-war.gradle.kts rename to conventions/src/main/kotlin/ai.smoke-test-war.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.smoke-test.gradle.kts b/conventions/src/main/kotlin/ai.smoke-test.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.smoke-test.gradle.kts rename to conventions/src/main/kotlin/ai.smoke-test.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.spotbugs-conventions.gradle.kts b/conventions/src/main/kotlin/ai.spotbugs-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.spotbugs-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.spotbugs-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/ai.spotless-conventions.gradle.kts b/conventions/src/main/kotlin/ai.spotless-conventions.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/ai.spotless-conventions.gradle.kts rename to conventions/src/main/kotlin/ai.spotless-conventions.gradle.kts diff --git a/buildSrc/src/main/kotlin/com/microsoft/applicationinsights/gradle/AiSmokeTestExtension.kt b/conventions/src/main/kotlin/com/microsoft/applicationinsights/gradle/AiSmokeTestExtension.kt similarity index 100% rename from buildSrc/src/main/kotlin/com/microsoft/applicationinsights/gradle/AiSmokeTestExtension.kt rename to conventions/src/main/kotlin/com/microsoft/applicationinsights/gradle/AiSmokeTestExtension.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 2629d08ca1a..2c282aa3af7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,6 +1,7 @@ import org.apache.tools.ant.taskdefs.condition.Os pluginManagement { + includeBuild("conventions") plugins { id("com.github.jk1.dependency-license-report") version "3.0.1" id("me.champeau.jmh") version "0.7.3"