From 0bb2bb0d3d42e3b9911672b34a1577d881de2ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Ksi=C4=85=C5=BCek?= Date: Mon, 25 Nov 2024 13:39:58 +0100 Subject: [PATCH] Fix single Log4j2Plugins.dat isn't included into fat jar (#1039) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Przemysław Książek Co-authored-by: Zongle Wang --- src/docs/changes/README.md | 4 ++++ .../shadow/transformers/Log4j2PluginsCacheFileTransformer.kt | 4 +--- .../transformers/Log4j2PluginsCacheFileTransformerSpec.groovy | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/docs/changes/README.md b/src/docs/changes/README.md index bdc8c1d01..2c4df94e4 100644 --- a/src/docs/changes/README.md +++ b/src/docs/changes/README.md @@ -11,6 +11,10 @@ - **BREAKING CHANGE:** Remove Develocity integration. ([#1013](https://github.com/GradleUp/shadow/pull/1013)) +**Fixed** + +- Fix single Log4j2Plugins.dat isn't included into fat jar. ([#1039](https://github.com/GradleUp/shadow/issues/1039)). + ## [v8.3.5] (2024-11-03) diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformer.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformer.kt index 5fcb1d25d..e3ceadaaf 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformer.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformer.kt @@ -53,9 +53,7 @@ public open class Log4j2PluginsCacheFileTransformer : Transformer { // This functionality matches the original plugin, however, I'm not clear what // the exact logic is. From what I can tell temporaryFiles should be never be empty // if anything has been performed. - val hasTransformedMultipleFiles = temporaryFiles.size > 1 - val hasAtLeastOneFileAndRelocator = temporaryFiles.isNotEmpty() && relocators.isNotEmpty() - return hasTransformedMultipleFiles || hasAtLeastOneFileAndRelocator + return temporaryFiles.isNotEmpty() || relocators.isNotEmpty() } override fun modifyOutputStream(os: ZipOutputStream, preserveFileTimestamps: Boolean) { diff --git a/src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformerSpec.groovy b/src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformerSpec.groovy index d767ee75d..716fc1675 100644 --- a/src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformerSpec.groovy +++ b/src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformerSpec.groovy @@ -25,12 +25,12 @@ class Log4j2PluginsCacheFileTransformerSpec extends Specification { transformer = new Log4j2PluginsCacheFileTransformer() } - void "should not transformer"() { + void "should transform for a single file"() { when: transformer.transform(new TransformerContext(PLUGIN_CACHE_FILE, getResourceStream(PLUGIN_CACHE_FILE))) then: - !transformer.hasTransformedResource() + transformer.hasTransformedResource() } void "should transform"() {