From f2a79e714fa34f5d8a71b557abdb401fa271cc3c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 05:52:39 +0000 Subject: [PATCH 1/2] Update plugin shadow to v9.4.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 21e05425d..5518bc7a9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -87,6 +87,6 @@ nexusPublish = { id = "io.github.gradle-nexus.publish-plugin", version = "2.0.0" pluginPublish = { id = "com.gradle.plugin-publish", version = "2.1.0" } gitProperties = { id = "com.gorylenko.gradle-git-properties", version = "2.5.7" } mavenPluginDevelopment = { id = "org.gradlex.maven-plugin-development", version = "1.0.3" } -shadow = { id = "com.gradleup.shadow", version = "9.3.2" } +shadow = { id = "com.gradleup.shadow", version = "9.4.0" } kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version = "2.3.10" } jlink = { id = "org.beryx.jlink", version = "3.2.1" } From ea74e320bed09ba43244aa47659022962912a2e0 Mon Sep 17 00:00:00 2001 From: Florian Dreier Date: Mon, 16 Mar 2026 07:52:10 +0100 Subject: [PATCH 2/2] Removed shadow workaround and deprecated Json methods --- ...com.teamscale.shadow-convention.gradle.kts | 32 ------------------- .../compact/TeamscaleCompactCoverageReport.kt | 6 ++-- .../kotlin/com/teamscale/client/JsonUtils.kt | 2 +- 3 files changed, 4 insertions(+), 36 deletions(-) diff --git a/buildSrc/src/main/kotlin/com.teamscale.shadow-convention.gradle.kts b/buildSrc/src/main/kotlin/com.teamscale.shadow-convention.gradle.kts index a6081c6a0..023025bdb 100644 --- a/buildSrc/src/main/kotlin/com.teamscale.shadow-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/com.teamscale.shadow-convention.gradle.kts @@ -1,4 +1,3 @@ -import com.github.jengelman.gradle.plugins.shadow.tasks.DependencyFilter import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar plugins { @@ -19,34 +18,3 @@ tasks.named("shadowJar") { val archiveFile = this.archiveFile doLast("revertKotlinPackageChanges") { revertKotlinPackageChanges(archiveFile) } } - -// Defer the resolution of 'runtimeClasspath'. This is an issue in the shadow -// plugin that it automatically accesses the files in 'runtimeClasspath' while -// Gradle is building the task graph. The lines below work around that. -// https://github.com/GradleUp/shadow/issues/882 -tasks.withType { - // Do not resolve too early through 'dependencyFilter' - dependencyFilter = NoResolveDependencyFilter(project) -} - -class NoResolveDependencyFilter( - project: Project -) : DependencyFilter.AbstractDependencyFilter(project) { - - // Copy of https://github.com/GradleUp/shadow/blob/main/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DefaultDependencyFilter.kt#L10 - override fun resolve( - dependencies: Set, - includedDependencies: MutableSet, - excludedDependencies: MutableSet, - ) { - dependencies.forEach { - if (if (it.isIncluded()) includedDependencies.add(it) else excludedDependencies.add(it)) { - resolve(it.children, includedDependencies, excludedDependencies) - } - } - } - - override fun resolve(configuration: Configuration): FileCollection { - return configuration - } -} diff --git a/report-generator/src/main/kotlin/com/teamscale/report/compact/TeamscaleCompactCoverageReport.kt b/report-generator/src/main/kotlin/com/teamscale/report/compact/TeamscaleCompactCoverageReport.kt index 133a5bec3..d7ed86ac7 100644 --- a/report-generator/src/main/kotlin/com/teamscale/report/compact/TeamscaleCompactCoverageReport.kt +++ b/report-generator/src/main/kotlin/com/teamscale/report/compact/TeamscaleCompactCoverageReport.kt @@ -3,9 +3,9 @@ package com.teamscale.report.compact import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.fasterxml.jackson.databind.annotation.JsonSerialize +import com.fasterxml.jackson.databind.json.JsonMapper import com.teamscale.report.util.CompactLines import com.teamscale.report.util.LineRangeDeserializer import com.teamscale.report.util.LineRangeSerializer @@ -26,8 +26,8 @@ data class TeamscaleCompactCoverageReport @JsonCreator constructor( ) { /** Serializes the compact coverage into a JSON report and writes it into the given output stream. */ fun writeTo(output: OutputStream) { - return ObjectMapper() - .setSerializationInclusion(JsonInclude.Include.NON_NULL) + return JsonMapper.builder() + .defaultPropertyInclusion(JsonInclude.Value.ALL_NON_NULL).build() .writeValue(output, this) } diff --git a/teamscale-client/src/main/kotlin/com/teamscale/client/JsonUtils.kt b/teamscale-client/src/main/kotlin/com/teamscale/client/JsonUtils.kt index fc504b623..ad4298808 100644 --- a/teamscale-client/src/main/kotlin/com/teamscale/client/JsonUtils.kt +++ b/teamscale-client/src/main/kotlin/com/teamscale/client/JsonUtils.kt @@ -24,7 +24,7 @@ object JsonUtils { .visibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) .visibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) - .serializationInclusion(JsonInclude.Include.NON_NULL) + .defaultPropertyInclusion(JsonInclude.Value.ALL_NON_NULL) .build() /**