From 2b824d86e49099ac467e6115275a1b382f4734a7 Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 3 Sep 2026 17:51:49 +0800 Subject: [PATCH] Use _minimizeJar.flatMap to guard toMinimize and apiJars --- .../gradle/plugins/shadow/tasks/ShadowJar.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/tasks/ShadowJar.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/tasks/ShadowJar.kt index 5a4348690..23020620d 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/tasks/ShadowJar.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/tasks/ShadowJar.kt @@ -118,14 +118,22 @@ public abstract class ShadowJar : Jar() { @get:Classpath public open val toMinimize: ConfigurableFileCollection = objectFactory.fileCollection { - _minimizeJar.map { - if (it) (_minimizeSpec.resolve(configurations.get()) - apiJars) else emptySet() + // Avoid resolving classpath files during task input snapshotting when minimization is disabled. + _minimizeJar.flatMap { + if (it) { + configurations.map { configs -> _minimizeSpec.resolve(configs) - apiJars } + } else { + project.provider { emptySet() } + } } } @get:Classpath public open val apiJars: ConfigurableFileCollection = objectFactory.fileCollection { - _minimizeJar.map { if (it) project.getApiJars() else emptySet() } + // Avoid resolving classpath files during task input snapshotting when minimization is disabled. + _minimizeJar.flatMap { + if (it) project.getApiJars() else project.provider { emptyList() } + } } @get:InputFiles