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/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" } 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() /**