From 3d2bbe4e7e71d7da7372b1bd19ec1d2c73b0f966 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:21:13 +0800 Subject: [PATCH 1/7] Use Path.deleteExisting --- .../gradle/plugins/shadow/caching/TransformCachingTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt index 63257e886..0ddb83d2b 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt @@ -7,6 +7,7 @@ import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransf import com.github.jengelman.gradle.plugins.shadow.transformers.XmlAppendingTransformer import com.github.jengelman.gradle.plugins.shadow.util.containsEntries import kotlin.io.path.appendText +import kotlin.io.path.deleteExisting import kotlin.io.path.readText import kotlin.io.path.writeText import org.junit.jupiter.api.Test @@ -81,7 +82,7 @@ class TransformCachingTest : BaseCachingTest() { containsEntries("shadow/Main.class", "foo/bar.properties") } - path("src/main/resources/foo/bar.properties").toFile().delete() + path("src/main/resources/foo/bar.properties").deleteExisting() path("src/main/resources/foo/baz.properties").writeText("foo=baz") val replaced = projectScriptPath.readText().replace("foo/bar.properties", "foo/baz.properties") projectScriptPath.writeText(replaced) @@ -125,7 +126,7 @@ class TransformCachingTest : BaseCachingTest() { containsEntries("shadow/Main.class", "foo/bar.xml") } - path("src/main/resources/foo/bar.xml").toFile().delete() + path("src/main/resources/foo/bar.xml").deleteExisting() path("src/main/resources/foo/baz.xml").writeText("baz") val replaced = projectScriptPath.readText().replace("foo/bar.xml", "foo/baz.xml") projectScriptPath.writeText(replaced) From 40d6329d5d4dffee8d3dd31776ef38ae2a982b1f Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:23:06 +0800 Subject: [PATCH 2/7] Reuse assertions in shadowJarIsCachedCorrectlyWhenUsingServiceFileTransformer --- .../shadow/caching/TransformCachingTest.kt | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt index 0ddb83d2b..721d2d726 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt @@ -16,11 +16,14 @@ class TransformCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingServiceFileTransformer() { writeMainClass() + val assertions = { + assertThat(outputShadowJar).useAll { + containsEntries("shadow/Main.class") + } + } assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() projectScriptPath.appendText( transform( @@ -29,29 +32,20 @@ class TransformCachingTest : BaseCachingTest() { """.trimIndent(), ), ) - assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() val replaced = projectScriptPath.readText().replace("META-INF/foo", "META-INF/bar") projectScriptPath.writeText(replaced) assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() } @Test From aaaa2f4086645072c8e80fd8b4923a777e742b8a Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:27:57 +0800 Subject: [PATCH 3/7] Reuse assertions in shadowJarIsCachedCorrectlyWhenUsingAppendingTransformer --- .../shadow/caching/TransformCachingTest.kt | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt index 721d2d726..87ca9778f 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt @@ -1,11 +1,13 @@ package com.github.jengelman.gradle.plugins.shadow.caching import assertk.assertThat +import assertk.assertions.isEqualTo import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer import com.github.jengelman.gradle.plugins.shadow.transformers.GroovyExtensionModuleTransformer import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer import com.github.jengelman.gradle.plugins.shadow.transformers.XmlAppendingTransformer import com.github.jengelman.gradle.plugins.shadow.util.containsEntries +import com.github.jengelman.gradle.plugins.shadow.util.getContent import kotlin.io.path.appendText import kotlin.io.path.deleteExisting import kotlin.io.path.readText @@ -50,13 +52,17 @@ class TransformCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingAppendingTransformer() { - path("src/main/resources/foo/bar.properties").writeText("foo=bar") writeMainClass() + path("src/main/resources/foo/bar.properties").writeText("foo=bar") + val assertions = { name: String -> + assertThat(outputShadowJar).useAll { + containsEntries("shadow/Main.class", "foo/$name.properties") + getContent("foo/$name.properties").isEqualTo("foo=$name") + } + } assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions("bar") projectScriptPath.appendText( transform( @@ -65,16 +71,11 @@ class TransformCachingTest : BaseCachingTest() { """.trimIndent(), ), ) - assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/bar.properties") - } + assertions("bar") assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/bar.properties") - } + assertions("bar") path("src/main/resources/foo/bar.properties").deleteExisting() path("src/main/resources/foo/baz.properties").writeText("foo=baz") @@ -82,14 +83,10 @@ class TransformCachingTest : BaseCachingTest() { projectScriptPath.writeText(replaced) assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/baz.properties") - } + assertions("baz") assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/baz.properties") - } + assertions("baz") } @Test From 6e4ce01cd89b87dbc09497812a0b295d51009266 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:34:27 +0800 Subject: [PATCH 4/7] Reuse assertions in shadowJarIsCachedCorrectlyWhenUsingXmlAppendingTransformer --- .../shadow/caching/TransformCachingTest.kt | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt index 87ca9778f..766e6d1e1 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt @@ -1,6 +1,7 @@ package com.github.jengelman.gradle.plugins.shadow.caching import assertk.assertThat +import assertk.assertions.contains import assertk.assertions.isEqualTo import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer import com.github.jengelman.gradle.plugins.shadow.transformers.GroovyExtensionModuleTransformer @@ -91,13 +92,17 @@ class TransformCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingXmlAppendingTransformer() { - path("src/main/resources/foo/bar.xml").writeText("bar") writeMainClass() + path("src/main/resources/foo/bar.xml").writeText("bar") + val assertions = { name: String -> + assertThat(outputShadowJar).useAll { + containsEntries("shadow/Main.class", "foo/$name.xml") + getContent("foo/$name.xml").contains("$name") + } + } assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions("bar") projectScriptPath.appendText( transform( @@ -106,16 +111,11 @@ class TransformCachingTest : BaseCachingTest() { """.trimIndent(), ), ) - assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/bar.xml") - } + assertions("bar") assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/bar.xml") - } + assertions("bar") path("src/main/resources/foo/bar.xml").deleteExisting() path("src/main/resources/foo/baz.xml").writeText("baz") @@ -123,14 +123,10 @@ class TransformCachingTest : BaseCachingTest() { projectScriptPath.writeText(replaced) assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/baz.xml") - } + assertions("baz") assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class", "foo/baz.xml") - } + assertions("baz") } @Test From d93da72431b712388026546fa77c9f407e80f8f4 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:35:43 +0800 Subject: [PATCH 5/7] Reuse assertions in shadowJarIsCachedCorrectlyWhenUsingGroovyExtensionModuleTransformer --- .../shadow/caching/TransformCachingTest.kt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt index 766e6d1e1..3338f1f0d 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt @@ -132,24 +132,22 @@ class TransformCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingGroovyExtensionModuleTransformer() { writeMainClass() + val assertions = { + assertThat(outputShadowJar).useAll { + containsEntries("shadow/Main.class") + } + } assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() projectScriptPath.appendText( transform(), ) - assertFirstExecutionSuccess() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() assertExecutionsAreCachedAndUpToDate() - assertThat(outputShadowJar).useAll { - containsEntries("shadow/Main.class") - } + assertions() } } From 079425f4833e555328b9b70bc6039920585b7603 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:38:50 +0800 Subject: [PATCH 6/7] Rename TransformCachingTest to TransformerCachingTest --- .../{TransformCachingTest.kt => TransformerCachingTest.kt} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/{TransformCachingTest.kt => TransformerCachingTest.kt} (98%) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt similarity index 98% rename from src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt rename to src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt index 3338f1f0d..82af8a2b7 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt @@ -15,7 +15,7 @@ import kotlin.io.path.readText import kotlin.io.path.writeText import org.junit.jupiter.api.Test -class TransformCachingTest : BaseCachingTest() { +class TransformerCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingServiceFileTransformer() { writeMainClass() From 7b5ca4a70b1735e0aef62be63fdc99af239e4ec2 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 28 Jan 2025 10:45:52 +0800 Subject: [PATCH 7/7] Reuse writeMainClass --- .../plugins/shadow/caching/TransformerCachingTest.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt index 82af8a2b7..4391bf1f8 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/caching/TransformerCachingTest.kt @@ -13,12 +13,18 @@ import kotlin.io.path.appendText import kotlin.io.path.deleteExisting import kotlin.io.path.readText import kotlin.io.path.writeText +import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test class TransformerCachingTest : BaseCachingTest() { + @BeforeEach + override fun setup() { + super.setup() + writeMainClass() + } + @Test fun shadowJarIsCachedCorrectlyWhenUsingServiceFileTransformer() { - writeMainClass() val assertions = { assertThat(outputShadowJar).useAll { containsEntries("shadow/Main.class") @@ -53,7 +59,6 @@ class TransformerCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingAppendingTransformer() { - writeMainClass() path("src/main/resources/foo/bar.properties").writeText("foo=bar") val assertions = { name: String -> assertThat(outputShadowJar).useAll { @@ -92,7 +97,6 @@ class TransformerCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingXmlAppendingTransformer() { - writeMainClass() path("src/main/resources/foo/bar.xml").writeText("bar") val assertions = { name: String -> assertThat(outputShadowJar).useAll { @@ -131,7 +135,6 @@ class TransformerCachingTest : BaseCachingTest() { @Test fun shadowJarIsCachedCorrectlyWhenUsingGroovyExtensionModuleTransformer() { - writeMainClass() val assertions = { assertThat(outputShadowJar).useAll { containsEntries("shadow/Main.class")