diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 21a50d58db1..de9b7a189f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -356,6 +356,12 @@ spotless: extends: .gradle_build stage: tests needs: [] + variables: + # TODO: Latest version of spotless is failing with OOM on CI only. + # Setting 8G memory solving this issue, but we need to solve it eventually. + GRADLE_MEM: 8G + KUBERNETES_MEMORY_REQUEST: 18Gi + KUBERNETES_MEMORY_LIMIT: 18Gi script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS diff --git a/build.gradle.kts b/build.gradle.kts index 2a5478f1cb5..5a0619ff070 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("config-inversion-linter") id("datadog.ci-jobs") - id("com.diffplug.spotless") version "6.13.0" + id("com.diffplug.spotless") version "8.0.0" id("com.github.spotbugs") version "6.4.4" id("de.thetaphi.forbiddenapis") version "3.10" id("io.github.gradle-nexus.publish-plugin") version "2.0.0" @@ -36,7 +36,7 @@ with(extensions["spotlessPredeclare"] as SpotlessExtension) { removeUnusedImports() // This is the last Google Java Format version that supports Java 8 - googleJavaFormat("1.7") + googleJavaFormat("1.32.0") } groovyGradle { greclipse() @@ -45,13 +45,14 @@ with(extensions["spotlessPredeclare"] as SpotlessExtension) { greclipse() } kotlinGradle { - ktlint("0.41.0") + ktlint("1.7.1") } kotlin { - ktlint("0.41.0") + ktlint("1.7.1") } scala { - scalafmt("2.7.5") + // TODO: For some reason Scala format is working correctly with this version only. + scalafmt("3.8.6") } } apply(from = rootDir.resolve("gradle/spotless.gradle")) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 16e46b0f700..e7900aeb639 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -3,7 +3,7 @@ plugins { `java-gradle-plugin` `kotlin-dsl` `jvm-test-suite` - id("com.diffplug.spotless") version "6.13.0" + id("com.diffplug.spotless") version "8.0.0" } java { diff --git a/buildSrc/call-site-instrumentation-plugin/build.gradle.kts b/buildSrc/call-site-instrumentation-plugin/build.gradle.kts index f4e5b7cec20..2566b89a8e1 100644 --- a/buildSrc/call-site-instrumentation-plugin/build.gradle.kts +++ b/buildSrc/call-site-instrumentation-plugin/build.gradle.kts @@ -1,7 +1,7 @@ plugins { java groovy - id("com.diffplug.spotless") version "6.13.0" + id("com.diffplug.spotless") version "8.0.0" id("com.gradleup.shadow") version "8.3.6" } @@ -17,8 +17,7 @@ spotless { target("src/**/*.java") // ignore embedded test projects targetExclude("src/test/resources/**") - // This is the last Google Java Format version that supports Java 8 - googleJavaFormat("1.7") + googleJavaFormat("1.32.0") } } diff --git a/dd-smoke-tests/armeria-grpc/application/build.gradle b/dd-smoke-tests/armeria-grpc/application/build.gradle index 09a490a234a..0bb5a24d9a9 100644 --- a/dd-smoke-tests/armeria-grpc/application/build.gradle +++ b/dd-smoke-tests/armeria-grpc/application/build.gradle @@ -7,7 +7,6 @@ buildscript { plugins { id 'application' id 'java' - id 'com.diffplug.spotless' version '6.13.0' id 'com.gradleup.shadow' version '8.3.6' id 'com.google.protobuf' version '0.9.3' } @@ -17,7 +16,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/kafka-3/application/build.gradle b/dd-smoke-tests/kafka-3/application/build.gradle index 32171468d86..2386eab0cf0 100644 --- a/dd-smoke-tests/kafka-3/application/build.gradle +++ b/dd-smoke-tests/kafka-3/application/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4' - id 'com.diffplug.spotless' version '6.13.0' } java { @@ -16,7 +15,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/kafka-3/build.gradle b/dd-smoke-tests/kafka-3/build.gradle index cf5a20cf33b..fba27724ff3 100644 --- a/dd-smoke-tests/kafka-3/build.gradle +++ b/dd-smoke-tests/kafka-3/build.gradle @@ -52,3 +52,13 @@ tasks.named('compileTestGroovy') { tasks.withType(Test).configureEach { jvmArgs "-Ddatadog.smoketest.springboot.shadowJar.path=${appBuildDir}/libs/kafka-3-smoketest.jar" } + +spotless { + java { + target "**/*.java" + } + + groovyGradle { + target '*.gradle', "**/*.gradle" + } +} diff --git a/dd-smoke-tests/quarkus-native/application/build.gradle b/dd-smoke-tests/quarkus-native/application/build.gradle index c51e374fda3..50e12545671 100644 --- a/dd-smoke-tests/quarkus-native/application/build.gradle +++ b/dd-smoke-tests/quarkus-native/application/build.gradle @@ -1,7 +1,6 @@ plugins { id 'java' id 'io.quarkus' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -9,7 +8,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/quarkus/application/build.gradle b/dd-smoke-tests/quarkus/application/build.gradle index 068eaf57a67..40d01f03d90 100644 --- a/dd-smoke-tests/quarkus/application/build.gradle +++ b/dd-smoke-tests/quarkus/application/build.gradle @@ -1,7 +1,6 @@ plugins { id 'java' id 'io.quarkus' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -9,7 +8,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/rum/wildfly-15/rum-ear/build.gradle b/dd-smoke-tests/rum/wildfly-15/rum-ear/build.gradle index 25eb46b1db0..74d2ad6687f 100644 --- a/dd-smoke-tests/rum/wildfly-15/rum-ear/build.gradle +++ b/dd-smoke-tests/rum/wildfly-15/rum-ear/build.gradle @@ -1,7 +1,6 @@ plugins { id 'java' id 'ear' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../../" @@ -9,7 +8,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" apply plugin: 'ear' if (hasProperty('appBuildDir')) { diff --git a/dd-smoke-tests/spring-boot-2.7-webflux/application/build.gradle b/dd-smoke-tests/spring-boot-2.7-webflux/application/build.gradle index 6eaffaa238a..0b434bb8aac 100644 --- a/dd-smoke-tests/spring-boot-2.7-webflux/application/build.gradle +++ b/dd-smoke-tests/spring-boot-2.7-webflux/application/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -10,7 +9,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/spring-boot-3.0-native/application/build.gradle b/dd-smoke-tests/spring-boot-3.0-native/application/build.gradle index 11145336a8f..1c199bb08c2 100644 --- a/dd-smoke-tests/spring-boot-3.0-native/application/build.gradle +++ b/dd-smoke-tests/spring-boot-3.0-native/application/build.gradle @@ -3,7 +3,6 @@ plugins { id 'org.springframework.boot' version '3.0.0' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'org.graalvm.buildtools.native' version '0.9.28' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -11,7 +10,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" ext.withProfiler = hasProperty('profiler') diff --git a/dd-smoke-tests/spring-boot-3.0-webflux/application/build.gradle b/dd-smoke-tests/spring-boot-3.0-webflux/application/build.gradle index 582c3c5fc90..416dea657d2 100644 --- a/dd-smoke-tests/spring-boot-3.0-webflux/application/build.gradle +++ b/dd-smoke-tests/spring-boot-3.0-webflux/application/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'org.springframework.boot' version '3.0.0' id 'io.spring.dependency-management' version '1.0.14.RELEASE' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -10,7 +9,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/spring-boot-3.0-webmvc/application/build.gradle b/dd-smoke-tests/spring-boot-3.0-webmvc/application/build.gradle index 303f0074cf8..d7cc7b40f60 100644 --- a/dd-smoke-tests/spring-boot-3.0-webmvc/application/build.gradle +++ b/dd-smoke-tests/spring-boot-3.0-webmvc/application/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'org.springframework.boot' version '3.0.0' id 'io.spring.dependency-management' version '1.0.14.RELEASE' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -10,7 +9,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/spring-boot-3.3-webmvc/application/build.gradle b/dd-smoke-tests/spring-boot-3.3-webmvc/application/build.gradle index 2fb70486c46..1b75d137b24 100644 --- a/dd-smoke-tests/spring-boot-3.3-webmvc/application/build.gradle +++ b/dd-smoke-tests/spring-boot-3.3-webmvc/application/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java' id 'org.springframework.boot' version '3.3.5' id 'io.spring.dependency-management' version '1.0.14.RELEASE' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -10,7 +9,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" if (hasProperty('appBuildDir')) { buildDir = property('appBuildDir') diff --git a/dd-smoke-tests/wildfly/spring-ear/build.gradle b/dd-smoke-tests/wildfly/spring-ear/build.gradle index e9f10e11cb9..fae476be498 100644 --- a/dd-smoke-tests/wildfly/spring-ear/build.gradle +++ b/dd-smoke-tests/wildfly/spring-ear/build.gradle @@ -1,7 +1,6 @@ plugins { id 'java' id 'ear' - id 'com.diffplug.spotless' version '6.13.0' } def sharedRootDir = "$rootDir/../../../" @@ -9,7 +8,6 @@ def sharedConfigDirectory = "$sharedRootDir/gradle" rootProject.ext.sharedConfigDirectory = sharedConfigDirectory apply from: "$sharedConfigDirectory/repositories.gradle" -apply from: "$sharedConfigDirectory/spotless.gradle" apply plugin: 'ear' if (hasProperty('appBuildDir')) { diff --git a/gradle/enforcement/spotless-scalafmt.conf b/gradle/enforcement/spotless-scalafmt.conf index 2368ce01777..d1e1ae77b97 100644 --- a/gradle/enforcement/spotless-scalafmt.conf +++ b/gradle/enforcement/spotless-scalafmt.conf @@ -1,2 +1,4 @@ +version = 3.8.6 +runner.dialect = scala213 align.preset = more maxColumn = 100 diff --git a/gradle/spotless.gradle b/gradle/spotless.gradle index 3c64ef5c0a0..956218c4721 100644 --- a/gradle/spotless.gradle +++ b/gradle/spotless.gradle @@ -22,7 +22,7 @@ spotless { // ignore embedded test projects and everything in build dir, e.g. generated sources targetExclude('src/test/resources/**', buildDirectoryFiles) // This is the last Google Java Format version that supports Java 8 - googleJavaFormat('1.7') + googleJavaFormat('1.32.0') } } @@ -44,9 +44,11 @@ spotless { toggleOffOn() // same as kotlin, but for .gradle.kts files (defaults to '*.gradle.kts') target '*.gradle.kts' - // ktfmt('0.40').kotlinlangStyle() // needs Java 11+ - // Newer versions do not work well with the older version of kotlin in this build - ktlint('0.41.0').userData(['indent_size': '2', 'continuation_indent_size': '2']) + ktlint('1.7.1').editorConfigOverride([ + // Disable trailing comma rules to minimize diff. + 'ktlint_standard_trailing-comma-on-call-site': 'disabled', + 'ktlint_standard_trailing-comma-on-declaration-site': 'disabled' + ]) } project.pluginManager.withPlugin('groovy') { @@ -66,21 +68,22 @@ spotless { scala { toggleOffOn() targetExclude(buildDirectoryFiles) - scalafmt('2.7.5').configFile(configPath + '/enforcement/spotless-scalafmt.conf') + // TODO: For some reason Scala format is working correctly with this version only. + scalafmt('3.8.6').configFile(configPath + '/enforcement/spotless-scalafmt.conf') } } format 'markdown', { toggleOffOn() target '*.md', '.github/**/*.md', 'src/**/*.md', 'application/**/*.md' - indentWithSpaces() + leadingTabsToSpaces() endWithNewline() } format 'misc', { toggleOffOn() target '.gitignore', '*.sh', 'tooling/*.sh', '.gitlab/*.sh' - indentWithSpaces() + leadingTabsToSpaces() trimTrailingWhitespace() endWithNewline() } @@ -88,10 +91,12 @@ spotless { project.pluginManager.withPlugin('kotlin') { kotlin { toggleOffOn() - // ktfmt('0.40').kotlinlangStyle() // needs Java 11+ targetExclude(buildDirectoryFiles) - // Newer versions do not work well with the older version of kotlin in this build - ktlint('0.41.0').userData(['indent_size': '2', 'continuation_indent_size': '2']) + ktlint('1.7.1').editorConfigOverride([ + // Disable trailing comma rules to minimize diff. + 'ktlint_standard_trailing-comma-on-call-site': 'disabled', + 'ktlint_standard_trailing-comma-on-declaration-site': 'disabled' + ]) } } } diff --git a/test-published-dependencies/agent-logs-on-java-7/build.gradle b/test-published-dependencies/agent-logs-on-java-7/build.gradle index 0bc7530b989..d88f2185d9d 100644 --- a/test-published-dependencies/agent-logs-on-java-7/build.gradle +++ b/test-published-dependencies/agent-logs-on-java-7/build.gradle @@ -5,6 +5,11 @@ plugins { java { disableAutoTargetJvm() + + toolchain { + languageVersion = JavaLanguageVersion.of(8) + } + sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 } diff --git a/test-published-dependencies/build.gradle b/test-published-dependencies/build.gradle index 75054666df2..8f474b63507 100644 --- a/test-published-dependencies/build.gradle +++ b/test-published-dependencies/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.diffplug.spotless' version '6.13.0' + id 'com.diffplug.spotless' version '8.0.0' } def sharedConfigDirectory = "$rootDir/../gradle" diff --git a/test-published-dependencies/gradle/gradle-daemon-jvm.properties b/test-published-dependencies/gradle/gradle-daemon-jvm.properties new file mode 100644 index 00000000000..52234b5ce85 --- /dev/null +++ b/test-published-dependencies/gradle/gradle-daemon-jvm.properties @@ -0,0 +1 @@ +toolchainVersion=21