Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 66fd737

Browse files
bric3claude
andcommitted
chore(smoke-tests): extract Spring Boot 2.x app source into standalone Gradle 8 subprojects
The Spring Boot Gradle plugin is incompatible with Gradle 9 for all versions before 3.5.0 because it calls `Configuration.getUploadTaskName()`, a method removed in Gradle 9. Twelve smoke-test modules were direct Gradle subprojects that applied the Spring Boot plugin to build their bootJar/bootWar artefact. They cannot stay as subprojects of the Gradle 9 root build. For each of these modules, the application source is extracted into a new `application/` subdirectory that is a fully self-contained Gradle project (settings.gradle + build.gradle + Gradle 8.14.5 wrapper). The outer module keeps the test source and delegates the application build via an `Exec` task that invokes `application/gradlew`. Modules converted (bootJar): - springboot-thymeleaf (Spring Boot 2.7.15, Java 8) - springboot-freemarker (Spring Boot 2.7.15 plugin / 1.5.18 starter, Java 8) - springboot-velocity (Spring Boot 2.7.15 plugin / 1.5.18 starter, Java 8) - springboot-java-11 (Spring Boot 2.7.15, Java 11; passes iast-util-11 jar) - springboot-java-17 (Spring Boot 2.7.15, Java 17; passes iast-util-17 jar) - apm-tracing-disabled (Spring Boot 2.7.15, Java 8; passes dd-trace-api jar) - kafka-2 (Spring Boot 2.7.15, Java 8; passes iast-util jar) - openfeature (Spring Boot 2.7.15, Java 11; passes feature-flagging-api jar) Modules converted (bootWar): - springboot-jpa (Spring Boot 2.6.0, Java 8; Lombok) - springboot-tomcat-jsp (Spring Boot 2.7.15, Java 8; JSP webapp) - springboot-jetty-jsp (Spring Boot 2.7.15, Java 8; JSP webapp) - springboot-tomcat (Spring Boot 2.5.12, Java 8; Ivy Tomcat download + unzip) Where an application module depends on a project artifact from the main build (e.g. iast-util-11, dd-trace-api), the jar path is forwarded as a Gradle property (`-PfooJar=…`) from the Exec task and consumed via `if (hasProperty('fooJar')) { implementation files(property('fooJar')) }`. The spring-kafka-test test dependency in kafka-2 is pinned to 2.8.11 (the version previously resolved from the Spring Boot BOM) since the test module no longer has access to that BOM. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
1 parent 115d04d commit 66fd737

131 files changed

Lines changed: 4668 additions & 335 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
plugins {
2+
id 'java'
3+
id 'org.springframework.boot' version '2.7.15'
4+
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
5+
}
6+
7+
def sharedRootDir = "$rootDir/../../../"
8+
def sharedConfigDirectory = "$sharedRootDir/gradle"
9+
rootProject.ext.sharedConfigDirectory = sharedConfigDirectory
10+
11+
apply from: "$sharedConfigDirectory/repositories.gradle"
12+
13+
if (hasProperty('appBuildDir')) {
14+
buildDir = property('appBuildDir')
15+
}
16+
17+
version = ""
18+
19+
java {
20+
sourceCompatibility = '1.8'
21+
}
22+
23+
if (hasProperty('apiJar')) {
24+
dependencies {
25+
implementation files(property('apiJar'))
26+
}
27+
} else {
28+
dependencies {
29+
implementation "com.datadoghq:dd-trace-api:+"
30+
}
31+
}
32+
33+
dependencies {
34+
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.8'
35+
implementation 'org.springframework.boot:spring-boot-starter-web'
36+
implementation group: 'io.opentracing', name: 'opentracing-api', version: '0.32.0'
37+
implementation group: 'io.opentracing', name: 'opentracing-util', version: '0.32.0'
38+
}
Binary file not shown.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionSha256Sum=6f74b601422d6d6fc4e1f9a1ab6522f642c2fdcbc15ae33ebd30ba3d7198e854
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip
5+
networkTimeout=10000
6+
validateDistributionUrl=true
7+
zipStoreBase=GRADLE_USER_HOME
8+
zipStorePath=wrapper/dists

dd-smoke-tests/apm-tracing-disabled/application/gradlew

Lines changed: 183 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dd-smoke-tests/apm-tracing-disabled/application/gradlew.bat

Lines changed: 89 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
pluginManagement {
2+
repositories {
3+
mavenLocal()
4+
if (settings.hasProperty("gradlePluginProxy")) {
5+
maven {
6+
url settings["gradlePluginProxy"]
7+
allowInsecureProtocol = true
8+
}
9+
}
10+
if (settings.hasProperty("mavenRepositoryProxy")) {
11+
maven {
12+
url settings["mavenRepositoryProxy"]
13+
allowInsecureProtocol = true
14+
}
15+
}
16+
gradlePluginPortal()
17+
mavenCentral()
18+
}
19+
}
20+
21+
def isCI = providers.environmentVariable("CI").isPresent()
22+
23+
if (isCI) {
24+
def sharedRootDir = "$rootDir/../../../"
25+
buildCache {
26+
local {
27+
directory = "$sharedRootDir/workspace/build-cache"
28+
}
29+
}
30+
}
31+
32+
rootProject.name='apm-tracing-disabled-smoketest'

dd-smoke-tests/apm-tracing-disabled/src/main/java/datadog/smoketest/apmtracingdisabled/AppConfig.java renamed to dd-smoke-tests/apm-tracing-disabled/application/src/main/java/datadog/smoketest/apmtracingdisabled/AppConfig.java

File renamed without changes.

dd-smoke-tests/apm-tracing-disabled/src/main/java/datadog/smoketest/apmtracingdisabled/Controller.java renamed to dd-smoke-tests/apm-tracing-disabled/application/src/main/java/datadog/smoketest/apmtracingdisabled/Controller.java

File renamed without changes.

dd-smoke-tests/apm-tracing-disabled/src/main/java/datadog/smoketest/apmtracingdisabled/SpringbootApplication.java renamed to dd-smoke-tests/apm-tracing-disabled/application/src/main/java/datadog/smoketest/apmtracingdisabled/SpringbootApplication.java

File renamed without changes.

0 commit comments

Comments
 (0)