Skip to content

Commit 33d9e32

Browse files
Copilotxiang17
andcommitted
Fix smoke test failures by replacing Spring Boot plugin with Shadow
Co-authored-by: xiang17 <9310587+xiang17@users.noreply.github.com>
1 parent 03b4571 commit 33d9e32

2 files changed

Lines changed: 17 additions & 6 deletions

File tree

buildSrc/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,4 @@ dependencies {
4343

4444
implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6")
4545
implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.3")
46-
47-
// Spring Boot 3.5+ is required for Gradle 9 compatibility
48-
implementation("org.springframework.boot:spring-boot-gradle-plugin:3.5.10")
4946
}
Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
12
import com.microsoft.applicationinsights.gradle.AiSmokeTestExtension
23

34
plugins {
45
id("ai.smoke-test")
5-
id("org.springframework.boot")
6+
id("com.gradleup.shadow")
67
}
78

89
val aiSmokeTest = extensions.getByType(AiSmokeTestExtension::class)
910

10-
aiSmokeTest.testAppArtifactDir.set(tasks.bootJar.flatMap { it.destinationDirectory })
11-
aiSmokeTest.testAppArtifactFilename.set(tasks.bootJar.flatMap { it.archiveFileName })
11+
// Create a fat JAR using Shadow instead of Spring Boot plugin for Gradle 9 compatibility
12+
// Spring Boot 2.x doesn't support Gradle 9, and Spring Boot 3.x requires Java 17+
13+
// Shadow creates a simple fat JAR that works with Java 8
14+
tasks.named<ShadowJar>("shadowJar") {
15+
archiveClassifier.set("")
16+
mergeServiceFiles()
17+
18+
// Use the standard main class convention for smoke test apps
19+
manifest {
20+
attributes["Main-Class"] = "com.microsoft.applicationinsights.smoketestapp.SpringBootApp"
21+
}
22+
}
23+
24+
aiSmokeTest.testAppArtifactDir.set(tasks.shadowJar.flatMap { it.destinationDirectory })
25+
aiSmokeTest.testAppArtifactFilename.set(tasks.shadowJar.flatMap { it.archiveFileName })

0 commit comments

Comments
 (0)