From 57dd358d04c570ae51b5918e12527cdca535c699 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 28 Dec 2024 16:41:11 +0800 Subject: [PATCH 01/16] Rename contains and doesNotContain --- .../shadow/BasePluginSpecification.groovy | 4 +- .../plugins/shadow/PublishingSpec.groovy | 8 +-- .../plugins/shadow/ShadowPluginSpec.groovy | 52 +++++++++---------- .../plugins/shadow/TransformerSpec.groovy | 2 +- .../caching/MinimizationCachingSpec.groovy | 10 ++-- .../caching/RelocationCachingSpec.groovy | 10 ++-- .../caching/ShadowJarCachingSpec.groovy | 20 +++---- .../caching/TransformCachingSpec.groovy | 40 +++++++------- 8 files changed, 73 insertions(+), 73 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 6b377d860..4a0a46395 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -155,7 +155,7 @@ abstract class BasePluginSpecification extends Specification { return sw.toString() } - void contains(File f, List paths) { + void assertContains(File f, List paths) { JarFile jar = new JarFile(f) paths.each { path -> assert jar.getJarEntry(path), "${f.path} does not contain [$path]" @@ -163,7 +163,7 @@ abstract class BasePluginSpecification extends Specification { jar.close() } - void doesNotContain(File f, List paths) { + void assertDoesNotContain(File f, List paths) { JarFile jar = new JarFile(f) paths.each { path -> assert !jar.getJarEntry(path), "${f.path} contains [$path]" diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy index 9b95a42f0..9f7a443d4 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy @@ -63,7 +63,7 @@ class PublishingSpec extends BasePluginSpecification { assert publishedFile.exists() and: - contains(publishedFile, ['a.properties', 'a2.properties']) + assertContains(publishedFile, ['a.properties', 'a2.properties']) and: File pom = publishingRepo.rootDir.resolve('shadow/maven-all/1.0/maven-all-1.0.pom').toFile().canonicalFile @@ -211,7 +211,7 @@ class PublishingSpec extends BasePluginSpecification { assert publishedFile.exists() and: - contains(publishedFile, ['a.properties', 'a2.properties']) + assertContains(publishedFile, ['a.properties', 'a2.properties']) and: File pom = publishingRepo.rootDir.resolve('shadow/maven-all/1.0/maven-all-1.0.pom').toFile().canonicalFile @@ -277,7 +277,7 @@ class PublishingSpec extends BasePluginSpecification { assert shadowJar.exists() and: - contains(shadowJar, ['a.properties', 'a2.properties']) + assertContains(shadowJar, ['a.properties', 'a2.properties']) and: "publishes both a POM file and a Gradle metadata file" File pom = publishingRepo.rootDir.resolve('com/acme/maven/1.0/maven-1.0.pom').toFile().canonicalFile @@ -328,7 +328,7 @@ class PublishingSpec extends BasePluginSpecification { assertions { shadowJar = publishingRepo.rootDir.resolve('com/acme/maven-all/1.0/maven-all-1.0-all.jar').toFile().canonicalFile assert shadowJar.exists() - contains(shadowJar, ['a.properties', 'a2.properties']) + assertContains(shadowJar, ['a.properties', 'a2.properties']) } assertions { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 139c6d356..21437f537 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -153,10 +153,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - contains(output("shadow.jar"), ['shadow/Passed.class', 'junit/framework/Test.class']) + assertContains(output("shadow.jar"), ['shadow/Passed.class', 'junit/framework/Test.class']) and: - doesNotContain(output("shadow.jar"), ['/']) + assertDoesNotContain(output("shadow.jar"), ['/']) } def 'include project dependencies'() { @@ -198,7 +198,7 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'server/Server.class', 'junit/framework/Test.class' @@ -253,11 +253,11 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'server/Server.class' ]) - doesNotContain(serverOutput, ['junit/framework/Test.class']) + assertDoesNotContain(serverOutput, ['junit/framework/Test.class']) } /** @@ -306,11 +306,11 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'server/Server.class', 'junit/framework/Test.class' ]) - doesNotContain(serverOutput, ['client/Client.class']) + assertDoesNotContain(serverOutput, ['client/Client.class']) } /** @@ -356,7 +356,7 @@ class ShadowPluginSpec extends BasePluginSpecification { runWithDebug(':server:shadowJar') then: - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'server/Server.class' ]) @@ -409,7 +409,7 @@ class ShadowPluginSpec extends BasePluginSpecification { runWithDebug(':server:shadowJar') then: - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'server/Server.class', 'junit/framework/TestCase.class' @@ -460,7 +460,7 @@ class ShadowPluginSpec extends BasePluginSpecification { runWithDebug(':server:shadowJar') then: - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'server/Server.class', 'junit/framework/TestCase.class' @@ -537,13 +537,13 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'impl/SimpleEntity.class', 'api/Entity.class', 'api/UnusedEntity.class', 'lib/LibEntity.class', ]) - doesNotContain(serverOutput, ['junit/framework/Test.class', 'lib/UnusedLibEntity.class']) + assertDoesNotContain(serverOutput, ['junit/framework/Test.class', 'lib/UnusedLibEntity.class']) } /** @@ -611,7 +611,7 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'impl/SimpleEntity.class', 'api/Entity.class', 'api/UnusedEntity.class', @@ -663,12 +663,12 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'server/Server.class' ]) and: - doesNotContain(serverOutput, [ + assertDoesNotContain(serverOutput, [ 'client/Client.class', 'junit/framework/Test.class', 'client/junit/framework/Test.class' @@ -718,14 +718,14 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'client/Client.class', 'client/junit/framework/Test.class', 'server/Server.class', ]) and: - doesNotContain(serverOutput, [ + assertDoesNotContain(serverOutput, [ 'junit/framework/Test.class' ]) } @@ -754,10 +754,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - contains(output, ['a.properties', 'META-INF/a.properties']) + assertContains(output, ['a.properties', 'META-INF/a.properties']) and: - doesNotContain(output, ['META-INF/INDEX.LIST', 'META-INF/a.SF', 'META-INF/a.DSA', 'META-INF/a.RSA']) + assertDoesNotContain(output, ['META-INF/INDEX.LIST', 'META-INF/a.SF', 'META-INF/a.DSA', 'META-INF/a.RSA']) } def "include runtime configuration by default"() { @@ -781,10 +781,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - contains(output, ['a.properties']) + assertContains(output, ['a.properties']) and: - doesNotContain(output, ['b.properties']) + assertDoesNotContain(output, ['b.properties']) } def "include java-library configurations by default"() { @@ -819,8 +819,8 @@ class ShadowPluginSpec extends BasePluginSpecification { runWithDebug('shadowJar') then: - contains(output, ['api.properties', 'implementation.properties', - 'runtimeOnly.properties', 'implementation-dep.properties']) + assertContains(output, ['api.properties', 'implementation.properties', + 'runtimeOnly.properties', 'implementation-dep.properties']) } def "doesn't include compileOnly configuration by default"() { @@ -844,10 +844,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - contains(output, ['a.properties']) + assertContains(output, ['a.properties']) and: - doesNotContain(output, ['b.properties']) + assertDoesNotContain(output, ['b.properties']) } def "default copying strategy"() { @@ -1011,7 +1011,7 @@ class ShadowPluginSpec extends BasePluginSpecification { then: serverOutput.exists() - contains(serverOutput, [ + assertContains(serverOutput, [ 'api/UnusedEntity.class', ]) } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy index 4d5fa772d..5444e932f 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy @@ -664,7 +664,7 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( props.getProperty('moduleVersion') == '1.0.0' props.getProperty('extensionClasses') == 'com.acme.foo.FooExtension,com.acme.foo.BarExtension,com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension' props.getProperty('staticExtensionClasses') == 'com.acme.foo.FooStaticExtension,com.acme.bar.SomeStaticExtension' - doesNotContain(output, ['META-INF/services/org.codehaus.groovy.runtime.ExtensionModule']) + assertDoesNotContain(output, ['META-INF/services/org.codehaus.groovy.runtime.ExtensionModule']) } def 'Groovy extension module transformer short syntax'() { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy index 69bb06c88..f9ac82c0d 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy @@ -46,7 +46,7 @@ class MinimizationCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'junit/framework/Test.class', 'client/Client.class' @@ -66,21 +66,21 @@ class MinimizationCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'junit/framework/Test.class' ]) - doesNotContain(output, ['client/Client.class']) + assertDoesNotContain(output, ['client/Client.class']) when: assertShadowJarIsCachedAndRelocatable() then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'junit/framework/Test.class' ]) - doesNotContain(output, ['client/Client.class']) + assertDoesNotContain(output, ['client/Client.class']) } } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy index 1fa573932..85c77e5ea 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy @@ -23,7 +23,7 @@ class RelocationCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'junit/framework/Test.class' ]) @@ -40,13 +40,13 @@ class RelocationCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/junit/framework/Test.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'junit/framework/Test.class' ]) @@ -55,13 +55,13 @@ class RelocationCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/junit/framework/Test.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'junit/framework/Test.class' ]) } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy index 0c3b4efc4..97fcac043 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy @@ -111,7 +111,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'server/Util.class' ]) @@ -129,12 +129,12 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'server/Util.class', 'junit/framework/Test.class' ]) @@ -144,12 +144,12 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'server/Util.class', 'junit/framework/Test.class' ]) @@ -177,7 +177,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'junit/framework/Test.class' ]) @@ -196,12 +196,12 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'junit/framework/Test.class' ]) @@ -210,12 +210,12 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) and: - doesNotContain(output, [ + assertDoesNotContain(output, [ 'junit/framework/Test.class' ]) } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy index b937815c1..8577db215 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy @@ -57,7 +57,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -66,7 +66,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) } @@ -88,7 +88,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -105,7 +105,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -114,7 +114,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -131,7 +131,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -140,7 +140,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) } @@ -163,7 +163,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -180,7 +180,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/bar.properties' ]) @@ -190,7 +190,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/bar.properties' ]) @@ -210,7 +210,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/baz.properties' ]) @@ -220,7 +220,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/baz.properties' ]) @@ -244,7 +244,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -261,7 +261,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/bar.xml' ]) @@ -271,7 +271,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/bar.xml' ]) @@ -291,7 +291,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/baz.xml' ]) @@ -301,7 +301,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class', 'foo/baz.xml' ]) @@ -324,7 +324,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -339,7 +339,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) @@ -348,7 +348,7 @@ class TransformCachingSpec extends AbstractCachingSpec { then: output.exists() - contains(output, [ + assertContains(output, [ 'server/Server.class' ]) } From d3a9363211eec5cfbd965adba86f25ad811ef471 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:28:12 +0800 Subject: [PATCH 02/16] Binary files should be asserted to exist, text files should be created --- .../jengelman/gradle/plugins/shadow/BasePluginTest.kt | 9 +++++++++ .../gradle/plugins/shadow/ConfigurationCacheSpec.kt | 2 +- .../jengelman/gradle/plugins/shadow/FilteringTest.kt | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index ff828078a..77bbcf69f 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -1,5 +1,7 @@ package com.github.jengelman.gradle.plugins.shadow +import assertk.assertThat +import assertk.assertions.exists import com.github.jengelman.gradle.plugins.shadow.ShadowApplicationPlugin.Companion.SHADOW_RUN_TASK_NAME import com.github.jengelman.gradle.plugins.shadow.ShadowJavaPlugin.Companion.SHADOW_JAR_TASK_NAME import com.github.jengelman.gradle.plugins.shadow.tasks.JavaJarExec @@ -16,6 +18,7 @@ import kotlin.io.path.createFile import kotlin.io.path.createTempDirectory import kotlin.io.path.deleteRecursively import kotlin.io.path.exists +import kotlin.io.path.extension import kotlin.io.path.readText import kotlin.io.path.toPath import kotlin.io.path.writeText @@ -128,6 +131,12 @@ abstract class BasePluginTest { fun path(path: String): Path { return root.resolve(path).also { + val extension = it.extension + // Binary files should be asserted to exist, text files should be created. + if (extension == "jar" || extension == "zip") { + assertThat(it).exists() + return@also + } if (!it.exists()) { it.parent.createDirectories() it.createFile() diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt index 851994739..0195b7360 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt @@ -96,9 +96,9 @@ class ConfigurationCacheSpec : BasePluginTest() { } """.trimIndent(), ) - val output = path("server/build/libs/server-1.0-all.jar") run(shadowJarTask) + val output = path("server/build/libs/server-1.0-all.jar") output.deleteExisting() val result = run(shadowJarTask) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt index a639f7b11..6defcca53 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt @@ -188,8 +188,8 @@ class FilteringTest : BasePluginTest() { """.trimIndent(), ) - val serverOutput = path("server/build/libs/server-1.0-all.jar") run(":server:$shadowJarTask") + val serverOutput = path("server/build/libs/server-1.0-all.jar") assertThat(serverOutput).exists() assertDoesNotContain( @@ -212,8 +212,8 @@ class FilteringTest : BasePluginTest() { """.trimIndent(), ) - val serverOutput = path("server/build/libs/server-1.0-all.jar") run(":server:$shadowJarTask") + val serverOutput = path("server/build/libs/server-1.0-all.jar") assertThat(serverOutput).exists() assertDoesNotContain( From ec6e90ace6705ac4c8e0b51d3048d10dfd660bd1 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:37:12 +0800 Subject: [PATCH 03/16] Remove unused assertJarFileContentsEqual --- .../gradle/plugins/shadow/BasePluginSpecification.groovy | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 4a0a46395..2ef3cc26d 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -141,10 +141,6 @@ abstract class BasePluginSpecification extends Specification { new AppendableMavenFileRepository(dir.resolve(path)) } - void assertJarFileContentsEqual(File f, String path, String contents) { - assert getJarFileContents(f, path) == contents - } - String getJarFileContents(File f, String path) { JarFile jf = new JarFile(f) def is = jf.getInputStream(new JarEntry(path)) From ba0a002a064fc0b00b68f184087f1f56945eb9c0 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:38:59 +0800 Subject: [PATCH 04/16] Replace runWithDebug with run --- .../shadow/BasePluginSpecification.groovy | 4 ---- .../plugins/shadow/ShadowPluginSpec.groovy | 18 +++++++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 2ef3cc26d..b1319b568 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -93,10 +93,6 @@ abstract class BasePluginSpecification extends Specification { return result } - BuildResult runWithDebug(String... tasks) { - return run(tasks.toList(), { it.withDebug(true) }) - } - BuildResult runWithFailure(List tasks, Function runnerFunction = { it }) { def result = runnerFunction.apply(runner(tasks)).buildAndFail() assertNoDeprecationWarnings(result) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 21437f537..136dc7f1f 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -249,7 +249,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = getFile('server/build/libs/server-all.jar') when: - runWithDebug(':server:shadowJar') + run(':server:shadowJar') then: serverOutput.exists() @@ -302,7 +302,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = getFile('server/build/libs/server-all.jar') when: - runWithDebug(':server:shadowJar') + run(':server:shadowJar') then: serverOutput.exists() @@ -353,7 +353,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = file('server/build/libs/server-all.jar') when: - runWithDebug(':server:shadowJar') + run(':server:shadowJar') then: assertContains(serverOutput, [ @@ -406,7 +406,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = file('server/build/libs/server-all.jar') when: - runWithDebug(':server:shadowJar') + run(':server:shadowJar') then: assertContains(serverOutput, [ @@ -457,7 +457,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = file('server/build/libs/server-all.jar') when: - runWithDebug(':server:shadowJar') + run(':server:shadowJar') then: assertContains(serverOutput, [ @@ -533,7 +533,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = getFile('impl/build/libs/impl-all.jar') when: - runWithDebug(':impl:shadowJar') + run(':impl:shadowJar') then: serverOutput.exists() @@ -607,7 +607,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = getFile('impl/build/libs/impl-all.jar') when: - runWithDebug(':impl:shadowJar') + run(':impl:shadowJar') then: serverOutput.exists() @@ -816,7 +816,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() when: - runWithDebug('shadowJar') + run('shadowJar') then: assertContains(output, ['api.properties', 'implementation.properties', @@ -1007,7 +1007,7 @@ class ShadowPluginSpec extends BasePluginSpecification { File serverOutput = getFile('impl/build/libs/impl-1.0-all.jar') when: - runWithDebug(':impl:shadowJar') + run(':impl:shadowJar') then: serverOutput.exists() From 35511b6775e67ec5033831f68d7ce49259d619bc Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:42:01 +0800 Subject: [PATCH 05/16] Cleanups --- .../shadow/BasePluginSpecification.groovy | 28 +++++++------------ .../plugins/shadow/ShadowPluginSpec.groovy | 6 ++-- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index b1319b568..b0ebe02d9 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -18,18 +18,18 @@ import java.util.jar.JarFile abstract class BasePluginSpecification extends Specification { @TempDir - Path dir + private Path dir AppendableMavenFileRepository repo def setup() { repo = repo() - repo.module('junit', 'junit', '3.8.2').use(testJar).publish() + repo.module('junit', 'junit', '3.8.2') + .use(Paths.get(this.class.classLoader.getResource('junit-3.8.2.jar').toURI())) + .publish() buildFile << getDefaultBuildScript('java', true, true) - buildFile << System.lineSeparator() settingsFile << settingsBuildScript - settingsFile << System.lineSeparator() } def cleanup() { @@ -52,7 +52,7 @@ abstract class BasePluginSpecification extends Specification { $groupInfo $versionInfo - """.stripIndent().trim() + """.stripIndent().trim() + System.lineSeparator() } String getSettingsBuildScript(boolean withRootProject = true) { @@ -66,7 +66,7 @@ abstract class BasePluginSpecification extends Specification { } $rootProjectInfo - """.stripIndent().trim() + """.stripIndent().trim() + System.lineSeparator() } static def shadowJar = "tasks.named('shadowJar', ${ShadowJar.class.name})".trim() @@ -105,7 +105,7 @@ abstract class BasePluginSpecification extends Specification { } } - static boolean containsDeprecationWarning(String output) { + private static boolean containsDeprecationWarning(String output) { output.contains("has been deprecated and is scheduled to be removed in Gradle") || output.contains("has been deprecated. This is scheduled to be removed in Gradle") } @@ -176,19 +176,11 @@ abstract class BasePluginSpecification extends Specification { return new AppendableJar(file(path).toPath()) } - protected File getOutput() { + File getOutput() { getFile('build/libs/shadow-1.0-all.jar') } - protected File output(String name) { - getFile("build/libs/${name}") - } - - protected Path getTestJar(String name = 'junit-3.8.2.jar') { - return Paths.get(this.class.classLoader.getResource(name).toURI()) - } - - protected static File getTestKitDir() { + static File getTestKitDir() { def gradleUserHome = System.getenv("GRADLE_USER_HOME") if (!gradleUserHome) { gradleUserHome = new File(System.getProperty("user.home"), ".gradle").absolutePath @@ -196,7 +188,7 @@ abstract class BasePluginSpecification extends Specification { return new File(gradleUserHome, "testkit") } - protected static String escapedPath(Path path) { + static String escapedPath(Path path) { return path.toString().replaceAll('\\\\', '\\\\\\\\') } } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 136dc7f1f..d9c79e680 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -153,10 +153,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assertContains(output("shadow.jar"), ['shadow/Passed.class', 'junit/framework/Test.class']) + assertContains(file("build/libs/shadow.jar"), ['shadow/Passed.class', 'junit/framework/Test.class']) and: - assertDoesNotContain(output("shadow.jar"), ['/']) + assertDoesNotContain(file("build/libs/shadow.jar"), ['/']) } def 'include project dependencies'() { @@ -1181,7 +1181,7 @@ class ShadowPluginSpec extends BasePluginSpecification { assert result.task(":testShadowJar").outcome == TaskOutcome.SUCCESS and: - def jarFile = new JarFile(output("shadow-1.0-tests.jar")) + def jarFile = new JarFile(file("build/libs/shadow-1.0-tests.jar")) assert jarFile.getEntry('junit') != null } } From 5cb8057baea836b4bc2249a82e0840fedcac4367 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:43:30 +0800 Subject: [PATCH 06/16] Rename getOutput to getOutputShadowJar --- .../shadow/BasePluginSpecification.groovy | 2 +- .../plugins/shadow/ShadowPluginSpec.groovy | 40 +++++----- .../plugins/shadow/TransformerSpec.groovy | 76 +++++++++--------- .../shadow/caching/AbstractCachingSpec.groovy | 4 +- .../caching/RelocationCachingSpec.groovy | 16 ++-- .../caching/ShadowJarCachingSpec.groovy | 42 +++++----- .../caching/TransformCachingSpec.groovy | 80 +++++++++---------- 7 files changed, 130 insertions(+), 130 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index b0ebe02d9..0e64a704a 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -176,7 +176,7 @@ abstract class BasePluginSpecification extends Specification { return new AppendableJar(file(path).toPath()) } - File getOutput() { + File getOutputShadowJar() { getFile('build/libs/shadow-1.0-all.jar') } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index d9c79e680..40a80a7a6 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -88,7 +88,7 @@ class ShadowPluginSpec extends BasePluginSpecification { } then: - assert output.exists() + assert outputShadowJar.exists() where: version << ['8.3'] @@ -128,7 +128,7 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() } def 'include project sources'() { @@ -754,10 +754,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assertContains(output, ['a.properties', 'META-INF/a.properties']) + assertContains(outputShadowJar, ['a.properties', 'META-INF/a.properties']) and: - assertDoesNotContain(output, ['META-INF/INDEX.LIST', 'META-INF/a.SF', 'META-INF/a.DSA', 'META-INF/a.RSA']) + assertDoesNotContain(outputShadowJar, ['META-INF/INDEX.LIST', 'META-INF/a.SF', 'META-INF/a.DSA', 'META-INF/a.RSA']) } def "include runtime configuration by default"() { @@ -781,10 +781,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assertContains(output, ['a.properties']) + assertContains(outputShadowJar, ['a.properties']) and: - assertDoesNotContain(output, ['b.properties']) + assertDoesNotContain(outputShadowJar, ['b.properties']) } def "include java-library configurations by default"() { @@ -819,8 +819,8 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assertContains(output, ['api.properties', 'implementation.properties', - 'runtimeOnly.properties', 'implementation-dep.properties']) + assertContains(outputShadowJar, ['api.properties', 'implementation.properties', + 'runtimeOnly.properties', 'implementation-dep.properties']) } def "doesn't include compileOnly configuration by default"() { @@ -844,10 +844,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assertContains(output, ['a.properties']) + assertContains(outputShadowJar, ['a.properties']) and: - assertDoesNotContain(output, ['b.properties']) + assertDoesNotContain(outputShadowJar, ['b.properties']) } def "default copying strategy"() { @@ -871,7 +871,7 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - JarFile jar = new JarFile(output) + JarFile jar = new JarFile(outputShadowJar) assert jar.entries().collect().size() == 2 } @@ -886,10 +886,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - JarFile jar = new JarFile(output) + JarFile jar = new JarFile(outputShadowJar) Attributes attributes = jar.manifest.getMainAttributes() assert attributes.getValue('Class-Path') == null } @@ -914,10 +914,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: 'https://github.com/GradleUp/shadow/issues/65 - combine w/ existing Class-Path' - JarFile jar = new JarFile(output) + JarFile jar = new JarFile(outputShadowJar) Attributes attributes = jar.manifest.getMainAttributes() String classpath = attributes.getValue('Class-Path') assert classpath == '/libs/a.jar junit-3.8.2.jar' @@ -936,10 +936,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - JarFile jar = new JarFile(output) + JarFile jar = new JarFile(outputShadowJar) Attributes attributes = jar.manifest.getMainAttributes() String classpath = attributes.getValue('Class-Path') assert classpath == 'junit-3.8.2.jar' @@ -963,7 +963,7 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() } @@ -1150,10 +1150,10 @@ class ShadowPluginSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - JarFile jar = new JarFile(output) + JarFile jar = new JarFile(outputShadowJar) assert jar.entries().collect().findAll { it.name.endsWith('.class') }.size() == 1 } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy index 5444e932f..59601c736 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy @@ -41,17 +41,17 @@ class TransformerSpec extends BasePluginSpecification { run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text1 = getJarFileContents(output, 'META-INF/services/org.apache.maven.Shade') + String text1 = getJarFileContents(outputShadowJar, 'META-INF/services/org.apache.maven.Shade') assert text1.split("\\r?\\n").size() == 2 assert text1 == '''one # NOTE: No newline terminates this line/file two # NOTE: No newline terminates this line/file'''.stripIndent() and: - String text2 = getJarFileContents(output, 'META-INF/services/com.acme.Foo') + String text2 = getJarFileContents(outputShadowJar, 'META-INF/services/com.acme.Foo') assert text2.split("\\r?\\n").size() == 1 assert text2 == 'one' } @@ -79,10 +79,10 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'META-INF/foo/org.apache.maven.Shade') + String text = getJarFileContents(outputShadowJar, 'META-INF/foo/org.apache.maven.Shade') assert text.split("\\r?\\n").size() == 2 assert text == '''one # NOTE: No newline terminates this line/file @@ -117,17 +117,17 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text1 = getJarFileContents(output, 'META-INF/services/org.apache.maven.Shade') + String text1 = getJarFileContents(outputShadowJar, 'META-INF/services/org.apache.maven.Shade') assert text1.split("\\r?\\n").size() == 2 assert text1 == '''one # NOTE: No newline terminates this line/file two # NOTE: No newline terminates this line/file'''.stripIndent() and: - String text2 = getJarFileContents(output, 'META-INF/services/com.acme.Foo') + String text2 = getJarFileContents(outputShadowJar, 'META-INF/services/com.acme.Foo') assert text2.split("\\r?\\n").size() == 1 assert text2 == 'one' } @@ -170,10 +170,10 @@ com.mysql.jdbc.Driver'''.stripIndent()) run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text1 = getJarFileContents(output, 'META-INF/services/java.sql.Driver') + String text1 = getJarFileContents(outputShadowJar, 'META-INF/services/java.sql.Driver') assert text1.split("\\r?\\n").size() == 4 assert text1 == '''oracle.jdbc.OracleDriver @@ -182,14 +182,14 @@ myapache.derby.jdbc.AutoloadedDriver com.mysql.jdbc.Driver'''.stripIndent() and: - String text2 = getJarFileContents(output, 'META-INF/services/myapache.axis.components.compiler.Compiler') + String text2 = getJarFileContents(outputShadowJar, 'META-INF/services/myapache.axis.components.compiler.Compiler') assert text2.split("\\r?\\n").size() == 2 assert text2 == '''myapache.axis.components.compiler.Javac org.apache.axis.components.compiler.Jikes'''.stripIndent() and: - String text3 = getJarFileContents(output, 'META-INF/services/org.apache.commons.logging.LogFactory') + String text3 = getJarFileContents(outputShadowJar, 'META-INF/services/org.apache.commons.logging.LogFactory') assert text3.split("\\r?\\n").size() == 2 assert text3 == '''myapache.commons.logging.impl.LogFactoryImpl @@ -216,10 +216,10 @@ org.mortbay.log.Factory'''.stripIndent() run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'META-INF/foo/org.apache.maven.Shade') + String text = getJarFileContents(outputShadowJar, 'META-INF/foo/org.apache.maven.Shade') assert text.split("\\r?\\n").size() == 2 assert text == '''one # NOTE: No newline terminates this line/file @@ -256,10 +256,10 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'META-INF/services/shadow.Shadow') + String text = getJarFileContents(outputShadowJar, 'META-INF/services/shadow.Shadow') assert text.split("\\r?\\n").size() == 3 assert text == '''three # NOTE: No newline terminates this line/file @@ -290,10 +290,10 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'test.properties') + String text = getJarFileContents(outputShadowJar, 'test.properties') assert text.split("\\r?\\n").size() == 2 assert text == '''one # NOTE: No newline terminates this line/file @@ -321,10 +321,10 @@ two # NOTE: No newline terminates this line/file run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'test.properties') + String text = getJarFileContents(outputShadowJar, 'test.properties') assert text.split("\\r?\\n").size() == 2 assert text == '''one # NOTE: No newline terminates this line/file @@ -357,10 +357,10 @@ two # NOTE: No newline terminates this line/file run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - JarInputStream jis = new JarInputStream(output.newInputStream()) + JarInputStream jis = new JarInputStream(outputShadowJar.newInputStream()) Manifest mf = jis.manifest jis.close() @@ -401,10 +401,10 @@ two # NOTE: No newline terminates this line/file run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - JarInputStream jis = new JarInputStream(output.newInputStream()) + JarInputStream jis = new JarInputStream(outputShadowJar.newInputStream()) Manifest mf = jis.manifest jis.close() @@ -450,10 +450,10 @@ two # NOTE: No newline terminates this line/file run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - String text = getJarFileContents(output, 'properties.xml') + String text = getJarFileContents(outputShadowJar, 'properties.xml') assert text.replaceAll('\r\n', '\n') == ''' @@ -499,10 +499,10 @@ two # NOTE: No newline terminates this line/file then: File jar = getFile('build/libs/shadow-1.0.jar') assert jar.exists() - assert output.exists() + assert outputShadowJar.exists() then: 'Check contents of Shadow jar manifest' - JarInputStream jis = new JarInputStream(output.newInputStream()) + JarInputStream jis = new JarInputStream(outputShadowJar.newInputStream()) Manifest mf = jis.manifest assert mf @@ -559,10 +559,10 @@ two # NOTE: No newline terminates this line/file then: File jar = getFile('build/libs/shadow-1.0.jar') assert jar.exists() - assert output.exists() + assert outputShadowJar.exists() then: 'Check contents of Shadow jar manifest' - JarInputStream jis = new JarInputStream(output.newInputStream()) + JarInputStream jis = new JarInputStream(outputShadowJar.newInputStream()) Manifest mf = jis.manifest assert mf @@ -613,10 +613,10 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - def text = getJarFileContents(output, 'META-INF/services/org.codehaus.groovy.runtime.ExtensionModule') + def text = getJarFileContents(outputShadowJar, 'META-INF/services/org.codehaus.groovy.runtime.ExtensionModule') def props = new Properties() props.load(new StringReader(text)) assert props.getProperty('moduleName') == 'MergedByShadowJar' @@ -654,17 +654,17 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( run('shadowJar') then: - output.exists() + outputShadowJar.exists() and: - def text = getJarFileContents(output, 'META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule') + def text = getJarFileContents(outputShadowJar, 'META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule') def props = new Properties() props.load(new StringReader(text)) props.getProperty('moduleName') == 'MergedByShadowJar' props.getProperty('moduleVersion') == '1.0.0' props.getProperty('extensionClasses') == 'com.acme.foo.FooExtension,com.acme.foo.BarExtension,com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension' props.getProperty('staticExtensionClasses') == 'com.acme.foo.FooStaticExtension,com.acme.bar.SomeStaticExtension' - assertDoesNotContain(output, ['META-INF/services/org.codehaus.groovy.runtime.ExtensionModule']) + assertDoesNotContain(outputShadowJar, ['META-INF/services/org.codehaus.groovy.runtime.ExtensionModule']) } def 'Groovy extension module transformer short syntax'() { @@ -695,10 +695,10 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() and: - def text = getJarFileContents(output, 'META-INF/services/org.codehaus.groovy.runtime.ExtensionModule') + def text = getJarFileContents(outputShadowJar, 'META-INF/services/org.codehaus.groovy.runtime.ExtensionModule') def props = new Properties() props.load(new StringReader(text)) assert props.getProperty('moduleName') == 'MergedByShadowJar' @@ -725,7 +725,7 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( run('shadowJar') then: - assert output.exists() + assert outputShadowJar.exists() where: transformer | configuration diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index da4afc8fc..51eba5e5f 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -78,8 +78,8 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { } void deleteOutputs() { - if (output.exists()) { - assert output.delete() + if (outputShadowJar.exists()) { + assert outputShadowJar.delete() } } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy index 85c77e5ea..41a8f3a15 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy @@ -22,8 +22,8 @@ class RelocationCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'junit/framework/Test.class' ]) @@ -39,14 +39,14 @@ class RelocationCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/junit/framework/Test.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'junit/framework/Test.class' ]) @@ -54,14 +54,14 @@ class RelocationCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/junit/framework/Test.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'junit/framework/Test.class' ]) } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy index 97fcac043..ba35ba77b 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy @@ -21,13 +21,13 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - assert output.exists() + assert outputShadowJar.exists() when: assertShadowJarIsCachedAndRelocatable() then: - assert output.exists() + assert outputShadowJar.exists() when: changeConfigurationTo """ @@ -38,7 +38,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - assert output.exists() + assert outputShadowJar.exists() } /** @@ -60,7 +60,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - assert output.exists() + assert outputShadowJar.exists() when: changeConfigurationTo """ @@ -73,7 +73,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - assert !output.exists() + assert !outputShadowJar.exists() assert getFile("build/libs/foo-1.0-all.jar").exists() } @@ -110,8 +110,8 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'server/Util.class' ]) @@ -128,13 +128,13 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'server/Util.class', 'junit/framework/Test.class' ]) @@ -143,13 +143,13 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'server/Util.class', 'junit/framework/Test.class' ]) @@ -176,8 +176,8 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'junit/framework/Test.class' ]) @@ -195,13 +195,13 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'junit/framework/Test.class' ]) @@ -209,13 +209,13 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) and: - assertDoesNotContain(output, [ + assertDoesNotContain(outputShadowJar, [ 'junit/framework/Test.class' ]) } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy index 8577db215..b2ebf4961 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy @@ -56,8 +56,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -65,8 +65,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) } @@ -87,8 +87,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -104,8 +104,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -113,8 +113,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -130,8 +130,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -139,8 +139,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) } @@ -162,8 +162,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -179,8 +179,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/bar.properties' ]) @@ -189,8 +189,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/bar.properties' ]) @@ -209,8 +209,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/baz.properties' ]) @@ -219,8 +219,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/baz.properties' ]) @@ -243,8 +243,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -260,8 +260,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/bar.xml' ]) @@ -270,8 +270,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/bar.xml' ]) @@ -290,8 +290,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/baz.xml' ]) @@ -300,8 +300,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'foo/baz.xml' ]) @@ -323,8 +323,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -338,8 +338,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) @@ -347,8 +347,8 @@ class TransformCachingSpec extends AbstractCachingSpec { assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class' ]) } From 8d3b2b745b964afcc1b3d1c7a86dd051a2d189f7 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:46:19 +0800 Subject: [PATCH 07/16] Rename getDefaultBuildScript to getProjectBuildScript --- .../shadow/BasePluginSpecification.groovy | 4 +-- .../plugins/shadow/ShadowPluginSpec.groovy | 28 +++++++++---------- .../shadow/caching/AbstractCachingSpec.groovy | 2 +- .../caching/MinimizationCachingSpec.groovy | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 0e64a704a..26fdc2b3a 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -28,7 +28,7 @@ abstract class BasePluginSpecification extends Specification { .use(Paths.get(this.class.classLoader.getResource('junit-3.8.2.jar').toURI())) .publish() - buildFile << getDefaultBuildScript('java', true, true) + buildFile << getProjectBuildScript('java', true, true) settingsFile << settingsBuildScript } @@ -36,7 +36,7 @@ abstract class BasePluginSpecification extends Specification { println buildFile.text } - String getDefaultBuildScript( + String getProjectBuildScript( String javaPlugin = 'java', boolean withGroup = false, boolean withVersion = false diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 40a80a7a6..2698cb01e 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -185,7 +185,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript dependencies { implementation project(':client') } @@ -237,7 +237,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript $shadowJar { minimize() @@ -288,7 +288,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript $shadowJar { minimize { @@ -339,7 +339,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript $shadowJar { minimize { @@ -392,7 +392,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript $shadowJar { minimize { @@ -443,7 +443,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript $shadowJar { minimize { @@ -521,7 +521,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getDefaultBuildScript('java-library')} + ${getProjectBuildScript('java-library')} $shadowJar { minimize() @@ -595,7 +595,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getDefaultBuildScript('java-library')} + ${getProjectBuildScript('java-library')} $shadowJar { minimize() @@ -632,7 +632,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('client/build.gradle') << """ - $defaultBuildScript + $projectBuildScript dependencies { implementation 'junit:junit:3.8.2' } @@ -687,7 +687,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('client/build.gradle') << """ - $defaultBuildScript + $projectBuildScript dependencies { implementation 'junit:junit:3.8.2' } @@ -706,7 +706,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript dependencies { implementation project(path: ':client', configuration: 'shadow') } """.stripIndent() @@ -806,7 +806,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('runtimeOnly.properties', 'runtimeOnly') .publish() - buildFile.text = getDefaultBuildScript('java-library', true, true) + buildFile.text = getProjectBuildScript('java-library', true, true) buildFile << """ dependencies { api 'shadow:api:1.0' @@ -995,7 +995,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getDefaultBuildScript('java-library')} + ${getProjectBuildScript('java-library')} version = '1.0' @@ -1130,7 +1130,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/pull/459") def 'exclude gradleApi() by default'() { given: - buildFile.text = getDefaultBuildScript('java-gradle-plugin', true, true) + buildFile.text = getProjectBuildScript('java-gradle-plugin', true, true) file('src/main/java/my/plugin/MyPlugin.java') << """ package my.plugin; diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index 51eba5e5f..70f18fde2 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -29,7 +29,7 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { } void changeConfigurationTo(String content) { - buildFile.text = getDefaultBuildScript('java', true, true) + buildFile.text = getProjectBuildScript('java', true, true) buildFile << content } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy index f9ac82c0d..ed3bba931 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy @@ -34,7 +34,7 @@ class MinimizationCachingSpec extends AbstractCachingSpec { """.stripIndent() file('server/build.gradle') << """ - $defaultBuildScript + $projectBuildScript dependencies { implementation project(':client') } """.stripIndent() From 217e8af5093611d345479a075fd70880f48b1838 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:50:02 +0800 Subject: [PATCH 08/16] Rename dir to root --- .../plugins/shadow/BasePluginSpecification.groovy | 10 +++++----- .../plugins/shadow/caching/AbstractCachingSpec.groovy | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 26fdc2b3a..84c9c3094 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -18,7 +18,7 @@ import java.util.jar.JarFile abstract class BasePluginSpecification extends Specification { @TempDir - private Path dir + Path root AppendableMavenFileRepository repo @@ -73,7 +73,7 @@ abstract class BasePluginSpecification extends Specification { GradleRunner getRunner() { GradleRunner.create() - .withProjectDir(dir.toFile()) + .withProjectDir(root.toFile()) .forwardOutput() .withPluginClasspath() .withTestKitDir(testKitDir) @@ -119,7 +119,7 @@ abstract class BasePluginSpecification extends Specification { } File file(String path) { - File f = dir.resolve(path).toFile() + File f = root.resolve(path).toFile() if (!f.exists()) { f.parentFile.mkdirs() if (!f.createNewFile()) { @@ -130,11 +130,11 @@ abstract class BasePluginSpecification extends Specification { } File getFile(String path) { - return dir.resolve(path).toFile() + return root.resolve(path).toFile() } AppendableMavenFileRepository repo(String path = 'maven-repo') { - new AppendableMavenFileRepository(dir.resolve(path)) + new AppendableMavenFileRepository(root.resolve(path)) } String getJarFileContents(File f, String path) { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index 70f18fde2..b2779e069 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -59,7 +59,7 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { void copyToAlternateDir() { FileUtils.deleteDirectory(alternateDir.toFile()) FileUtils.forceMkdir(alternateDir.toFile()) - FileUtils.copyDirectory(dir.toFile(), alternateDir.toFile()) + FileUtils.copyDirectory(root.toFile(), alternateDir.toFile()) } void assertShadowJarIsCachedAndRelocatable() { From 84b838a35cf6721e45ebbf54981157f627d81022 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 09:59:16 +0800 Subject: [PATCH 09/16] Rename getBuildFile and getSettingsFile --- .../shadow/BasePluginSpecification.groovy | 12 +++--- .../plugins/shadow/PublishingSpec.groovy | 16 ++++---- .../plugins/shadow/ShadowPluginSpec.groovy | 40 +++++++++---------- .../plugins/shadow/TransformerSpec.groovy | 34 ++++++++-------- .../shadow/caching/AbstractCachingSpec.groovy | 6 +-- .../caching/RelocationCachingSpec.groovy | 2 +- .../caching/ShadowJarCachingSpec.groovy | 8 ++-- .../caching/TransformCachingSpec.groovy | 2 +- 8 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index 84c9c3094..be94ed758 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -28,12 +28,12 @@ abstract class BasePluginSpecification extends Specification { .use(Paths.get(this.class.classLoader.getResource('junit-3.8.2.jar').toURI())) .publish() - buildFile << getProjectBuildScript('java', true, true) - settingsFile << settingsBuildScript + buildScript << getProjectBuildScript('java', true, true) + settingsScript << settingsBuildScript } def cleanup() { - println buildFile.text + println buildScript.text } String getProjectBuildScript( @@ -99,7 +99,7 @@ abstract class BasePluginSpecification extends Specification { return result } - static void assertNoDeprecationWarnings(BuildResult result) { + private static void assertNoDeprecationWarnings(BuildResult result) { result.output.eachLine { assert !containsDeprecationWarning(it) } @@ -110,11 +110,11 @@ abstract class BasePluginSpecification extends Specification { output.contains("has been deprecated. This is scheduled to be removed in Gradle") } - File getBuildFile() { + File getBuildScript() { file('build.gradle') } - File getSettingsFile() { + File getSettingsScript() { file('settings.gradle') } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy index 9f7a443d4..032fbda70 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy @@ -26,8 +26,8 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsFile << "rootProject.name = 'maven'" - buildFile << """ + settingsScript << "rootProject.name = 'maven'" + buildScript << """ apply plugin: 'maven-publish' dependencies { @@ -93,8 +93,8 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsFile << "rootProject.name = 'maven'" - buildFile << """ + settingsScript << "rootProject.name = 'maven'" + buildScript << """ apply plugin: 'maven-publish' dependencies { @@ -134,14 +134,14 @@ class PublishingSpec extends BasePluginSpecification { def "publish multiproject shadow jar with maven-publish plugin"() { given: - settingsFile << """ + settingsScript << """ rootProject.name = 'maven' include 'a' include 'b' include 'c' """.stripMargin() - buildFile.text = """ + buildScript.text = """ subprojects { apply plugin: 'java' apply plugin: 'maven-publish' @@ -237,10 +237,10 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsFile << """ + settingsScript << """ rootProject.name = 'maven' """ - buildFile << """ + buildScript << """ apply plugin: 'maven-publish' dependencies { implementation 'shadow:a:1.0' diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 2698cb01e..8dfd5c44c 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -71,7 +71,7 @@ class ShadowPluginSpec extends BasePluginSpecification { repo.module('shadow', 'two', '1.0').insertFile('META-INF/services/shadow.Shadow', 'two # NOTE: No newline terminates this line/file').publish() - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' implementation files('${escapedPath(one)}') @@ -96,7 +96,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def 'Error in Gradle versions < 8.3'() { given: - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } @@ -117,7 +117,7 @@ class ShadowPluginSpec extends BasePluginSpecification { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildFile << """ + buildScript << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -138,7 +138,7 @@ class ShadowPluginSpec extends BasePluginSpecification { public class Passed {} '''.stripIndent() - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } $shadowJar { @@ -746,7 +746,7 @@ class ShadowPluginSpec extends BasePluginSpecification { public class Passed {} '''.stripIndent() - buildFile << """ + buildScript << """ dependencies { implementation 'shadow:a:1.0' } """.stripIndent() @@ -770,7 +770,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - buildFile << """ + buildScript << """ dependencies { runtimeOnly 'shadow:a:1.0' shadow 'shadow:b:1.0' @@ -806,8 +806,8 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('runtimeOnly.properties', 'runtimeOnly') .publish() - buildFile.text = getProjectBuildScript('java-library', true, true) - buildFile << """ + buildScript.text = getProjectBuildScript('java-library', true, true) + buildScript << """ dependencies { api 'shadow:api:1.0' implementation 'shadow:implementation:1.0' @@ -833,7 +833,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - buildFile << """ + buildScript << """ dependencies { runtimeOnly 'shadow:a:1.0' compileOnly 'shadow:b:1.0' @@ -860,7 +860,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('META-INF/MANIFEST.MF', 'MANIFEST B') .publish() - buildFile << """ + buildScript << """ dependencies { runtimeOnly 'shadow:a:1.0' runtimeOnly 'shadow:b:1.0' @@ -878,7 +878,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "Class-Path in Manifest not added if empty"() { given: - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() @@ -898,7 +898,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "add shadow configuration to Class-Path in Manifest"() { given: - buildFile << """ + buildScript << """ dependencies { shadow 'junit:junit:3.8.2' } @@ -928,7 +928,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "do not include null value in Class-Path when jar file does not contain Class-Path"() { given: - buildFile << """ + buildScript << """ dependencies { shadow 'junit:junit:3.8.2' } """.stripIndent() @@ -950,7 +950,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "support ZipCompression.STORED"() { given: - buildFile << """ + buildScript << """ dependencies { shadow 'junit:junit:3.8.2' } $shadowJar { @@ -1034,7 +1034,7 @@ class ShadowPluginSpec extends BasePluginSpecification { } """.stripIndent() - buildFile << """ + buildScript << """ apply plugin: 'application' application { @@ -1078,7 +1078,7 @@ class ShadowPluginSpec extends BasePluginSpecification { } """.stripIndent() - settingsFile << "rootProject.name = 'myapp'" + settingsScript << "rootProject.name = 'myapp'" when: BuildResult result = run('runShadow') @@ -1092,9 +1092,9 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/609") def "doesn't error when using application mainClass property"() { given: - buildFile.text = defaultBuildScript + buildScript.text = defaultBuildScript - buildFile << """ + buildScript << """ project.ext { aspectjVersion = '1.8.12' } @@ -1130,7 +1130,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/pull/459") def 'exclude gradleApi() by default'() { given: - buildFile.text = getProjectBuildScript('java-gradle-plugin', true, true) + buildScript.text = getProjectBuildScript('java-gradle-plugin', true, true) file('src/main/java/my/plugin/MyPlugin.java') << """ package my.plugin; @@ -1159,7 +1159,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/1070") def 'can register a custom shadow jar task'() { - buildFile << """ + buildScript << """ dependencies { testImplementation 'junit:junit:3.8.2' } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy index 59601c736..4f1b02d10 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy @@ -26,7 +26,7 @@ class TransformerSpec extends BasePluginSpecification { .insert('META-INF/services/com.acme.Foo', 'two') .write() - buildFile << """ + buildScript << """ import ${ServiceFileTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -64,7 +64,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() def two = buildJar('two.jar').insert('META-INF/foo/org.apache.maven.Shade', 'two # NOTE: No newline terminates this line/file').write() - buildFile << """ + buildScript << """ import ${ServiceFileTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -103,7 +103,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() .insert('META-INF/services/com.acme.Foo', 'two') .write() - buildFile << """ + buildScript << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -154,7 +154,7 @@ com.mysql.jdbc.Driver'''.stripIndent()) 'org.mortbay.log.Factory') .write() - buildFile << """ + buildScript << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -204,7 +204,7 @@ org.mortbay.log.Factory'''.stripIndent() def two = buildJar('two.jar').insert('META-INF/foo/org.apache.maven.Shade', 'two # NOTE: No newline terminates this line/file').write() - buildFile << """ + buildScript << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -238,7 +238,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() repo.module('shadow', 'two', '1.0').insertFile('META-INF/services/shadow.Shadow', 'two # NOTE: No newline terminates this line/file').publish() - buildFile << """ + buildScript << """ dependencies { implementation 'shadow:two:1.0' implementation files('${escapedPath(one)}') @@ -275,7 +275,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() def two = buildJar('two.jar').insert('test.properties', 'two # NOTE: No newline terminates this line/file').write() - buildFile << """ + buildScript << """ import ${AppendingTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -309,7 +309,7 @@ two # NOTE: No newline terminates this line/file def two = buildJar('two.jar').insert('test.properties', 'two # NOTE: No newline terminates this line/file').write() - buildFile << """ + buildScript << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -344,7 +344,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildFile << """ + buildScript << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -381,7 +381,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildFile << """ + buildScript << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -434,7 +434,7 @@ two # NOTE: No newline terminates this line/file '''.stripIndent() ).write() - buildFile << """ + buildScript << """ import ${XmlAppendingTransformer.name} $shadowJar { @@ -477,7 +477,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildFile << """ + buildScript << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -537,7 +537,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildFile << """ + buildScript << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -600,7 +600,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildFile << """ + buildScript << """ import ${GroovyExtensionModuleTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -641,7 +641,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildFile << """ + buildScript << """ import ${GroovyExtensionModuleTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -683,7 +683,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildFile << """ + buildScript << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -713,7 +713,7 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( if (configuration.contains('test/some.file')) { file('test/some.file') << 'some content' } - buildFile << """ + buildScript << """ import com.github.jengelman.gradle.plugins.shadow.transformers.${transformer} $shadowJar { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index b2779e069..dc942f828 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -19,7 +19,7 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { def setup() { // Use a test-specific build cache directory. This ensures that we'll only use cached outputs generated during this // test and we won't accidentally use cached outputs from a different test or a different build. - settingsFile << """ + settingsScript << """ buildCache { local { directory = new File(rootDir, 'build-cache') @@ -29,8 +29,8 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { } void changeConfigurationTo(String content) { - buildFile.text = getProjectBuildScript('java', true, true) - buildFile << content + buildScript.text = getProjectBuildScript('java', true, true) + buildScript << content } BuildResult runWithCacheEnabled(String... arguments) { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy index 41a8f3a15..960ef7f8f 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy @@ -6,7 +6,7 @@ class RelocationCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when relocation is added'() { given: - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy index ba35ba77b..1f2eab303 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy @@ -10,7 +10,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildFile << """ + buildScript << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -49,7 +49,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildFile << """ + buildScript << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -82,7 +82,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when using includes/excludes'() { given: - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } $shadowJar { @@ -160,7 +160,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when using dependency includes/excludes'() { given: - buildFile << """ + buildScript << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy index b2ebf4961..b69e8a3b2 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy @@ -18,7 +18,7 @@ class TransformCachingSpec extends AbstractCachingSpec { public class Server {} """.stripIndent() - buildFile << """ + buildScript << """ import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext import org.apache.tools.zip.ZipOutputStream From fed59b1afdfc58e6c66ebb92edd9efefd669e462 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 11:55:22 +0800 Subject: [PATCH 10/16] Fix --- .../plugins/shadow/ShadowPluginSpec.groovy | 2 +- .../caching/MinimizationCachingSpec.groovy | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 8dfd5c44c..7d6198edd 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -1092,7 +1092,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/609") def "doesn't error when using application mainClass property"() { given: - buildScript.text = defaultBuildScript + buildScript.text = projectBuildScript buildScript << """ project.ext { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy index ed3bba931..94216d9e4 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy @@ -1,13 +1,17 @@ package com.github.jengelman.gradle.plugins.shadow.caching class MinimizationCachingSpec extends AbstractCachingSpec { - File output @Override String getShadowJarTask() { return ":server:shadowJar" } + @Override + File getOutputShadowJar() { + return getFile('server/build/libs/server-all.jar') + } + /** * Ensure that we get a cache miss when minimization is added and that caching works with minimization */ @@ -39,14 +43,12 @@ class MinimizationCachingSpec extends AbstractCachingSpec { dependencies { implementation project(':client') } """.stripIndent() - output = getFile('server/build/libs/server-all.jar') - when: assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'junit/framework/Test.class', 'client/Client.class' @@ -65,22 +67,22 @@ class MinimizationCachingSpec extends AbstractCachingSpec { assertShadowJarExecutes() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'junit/framework/Test.class' ]) - assertDoesNotContain(output, ['client/Client.class']) + assertDoesNotContain(outputShadowJar, ['client/Client.class']) when: assertShadowJarIsCachedAndRelocatable() then: - output.exists() - assertContains(output, [ + outputShadowJar.exists() + assertContains(outputShadowJar, [ 'server/Server.class', 'junit/framework/Test.class' ]) - assertDoesNotContain(output, ['client/Client.class']) + assertDoesNotContain(outputShadowJar, ['client/Client.class']) } } From edf17f5ad546670c5615adb646e56a4c9b652ed2 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 15:54:47 +0800 Subject: [PATCH 11/16] Merge getFile logic into file --- .../shadow/BasePluginSpecification.groovy | 14 +++++++++----- .../plugins/shadow/ShadowPluginSpec.groovy | 16 ++++++++-------- .../gradle/plugins/shadow/TransformerSpec.groovy | 4 ++-- .../caching/MinimizationCachingSpec.groovy | 2 +- .../shadow/caching/ShadowJarCachingSpec.groovy | 2 +- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index be94ed758..c63ee0be8 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -3,6 +3,7 @@ package com.github.jengelman.gradle.plugins.shadow import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import com.github.jengelman.gradle.plugins.shadow.util.AppendableJar import com.github.jengelman.gradle.plugins.shadow.util.AppendableMavenFileRepository +import org.apache.commons.lang3.StringUtils import org.codehaus.plexus.util.IOUtil import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.GradleRunner @@ -120,6 +121,13 @@ abstract class BasePluginSpecification extends Specification { File file(String path) { File f = root.resolve(path).toFile() + String extension = StringUtils.substringAfterLast(path, '.') + + // Binary files should be asserted to exist, text files should be created. + if (extension == "jar" || extension == "zip") { + return f + } + if (!f.exists()) { f.parentFile.mkdirs() if (!f.createNewFile()) { @@ -129,10 +137,6 @@ abstract class BasePluginSpecification extends Specification { return f } - File getFile(String path) { - return root.resolve(path).toFile() - } - AppendableMavenFileRepository repo(String path = 'maven-repo') { new AppendableMavenFileRepository(root.resolve(path)) } @@ -177,7 +181,7 @@ abstract class BasePluginSpecification extends Specification { } File getOutputShadowJar() { - getFile('build/libs/shadow-1.0-all.jar') + file('build/libs/shadow-1.0-all.jar') } static File getTestKitDir() { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 7d6198edd..47a029bf0 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -191,7 +191,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() - File serverOutput = getFile('server/build/libs/server-all.jar') + File serverOutput = file('server/build/libs/server-all.jar') when: run(':server:shadowJar') @@ -246,7 +246,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { implementation project(':client') } """.stripIndent() - File serverOutput = getFile('server/build/libs/server-all.jar') + File serverOutput = file('server/build/libs/server-all.jar') when: run(':server:shadowJar') @@ -299,7 +299,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { implementation project(':client') } """.stripIndent() - File serverOutput = getFile('server/build/libs/server-all.jar') + File serverOutput = file('server/build/libs/server-all.jar') when: run(':server:shadowJar') @@ -530,7 +530,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { api project(':api') } """.stripIndent() - File serverOutput = getFile('impl/build/libs/impl-all.jar') + File serverOutput = file('impl/build/libs/impl-all.jar') when: run(':impl:shadowJar') @@ -604,7 +604,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { api project(':api') } """.stripIndent() - File serverOutput = getFile('impl/build/libs/impl-all.jar') + File serverOutput = file('impl/build/libs/impl-all.jar') when: run(':impl:shadowJar') @@ -656,7 +656,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { implementation project(path: ':client', configuration: 'shadow') } """.stripIndent() - File serverOutput = getFile('server/build/libs/server.jar') + File serverOutput = file('server/build/libs/server.jar') when: run(':server:jar') @@ -711,7 +711,7 @@ class ShadowPluginSpec extends BasePluginSpecification { dependencies { implementation project(path: ':client', configuration: 'shadow') } """.stripIndent() - File serverOutput = getFile('server/build/libs/server-all.jar') + File serverOutput = file('server/build/libs/server-all.jar') when: run(':server:shadowJar') @@ -1004,7 +1004,7 @@ class ShadowPluginSpec extends BasePluginSpecification { shadowJar.minimize() """.stripIndent() - File serverOutput = getFile('impl/build/libs/impl-1.0-all.jar') + File serverOutput = file('impl/build/libs/impl-1.0-all.jar') when: run(':impl:shadowJar') diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy index 4f1b02d10..37d81ebff 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy @@ -497,7 +497,7 @@ two # NOTE: No newline terminates this line/file run('jar', 'shadowJar') then: - File jar = getFile('build/libs/shadow-1.0.jar') + File jar = file('build/libs/shadow-1.0.jar') assert jar.exists() assert outputShadowJar.exists() @@ -557,7 +557,7 @@ two # NOTE: No newline terminates this line/file run('jar', 'shadowJar') then: - File jar = getFile('build/libs/shadow-1.0.jar') + File jar = file('build/libs/shadow-1.0.jar') assert jar.exists() assert outputShadowJar.exists() diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy index 94216d9e4..fb79d82d9 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy @@ -9,7 +9,7 @@ class MinimizationCachingSpec extends AbstractCachingSpec { @Override File getOutputShadowJar() { - return getFile('server/build/libs/server-all.jar') + return file('server/build/libs/server-all.jar') } /** diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy index 1f2eab303..4220a0ce7 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy @@ -74,7 +74,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { then: assert !outputShadowJar.exists() - assert getFile("build/libs/foo-1.0-all.jar").exists() + assert file("build/libs/foo-1.0-all.jar").exists() } /** From 7313086e0c160d76ca8bfac55f14fb8c6f71aed8 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 16:04:45 +0800 Subject: [PATCH 12/16] Align getProjectBuildScript logic --- .../gradle/plugins/shadow/BasePluginTest.kt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index 77bbcf69f..d9e74b7be 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -42,12 +42,7 @@ abstract class BasePluginTest { .use(testJar) .publish() - buildScript.writeText( - getProjectBuildScript( - groupInfo = "group = 'shadow'", - versionInfo = "version = '1.0'", - ), - ) + buildScript.writeText(getProjectBuildScript(withGroup = true, withVersion = true)) settingsScript.writeText(getSettingsBuildScript()) } @@ -64,9 +59,11 @@ abstract class BasePluginTest { fun getProjectBuildScript( javaPlugin: String = "java", - groupInfo: String = "", - versionInfo: String = "", + withGroup: Boolean = false, + withVersion: Boolean = false, ): String { + val groupInfo = if (withGroup) "group = 'shadow'" else "" + val versionInfo = if (withVersion) "version = '1.0'" else "" return """ plugins { id('$javaPlugin') @@ -213,7 +210,7 @@ abstract class BasePluginTest { ) path("client/build.gradle").writeText( """ - ${getProjectBuildScript("java", versionInfo = "version = '1.0'")} + ${getProjectBuildScript("java", withVersion = true)} dependencies { implementation 'junit:junit:3.8.2' } """.trimIndent(), ) @@ -227,7 +224,7 @@ abstract class BasePluginTest { ) path("server/build.gradle").writeText( """ - ${getProjectBuildScript("java", versionInfo = "version = '1.0'")} + ${getProjectBuildScript("java", withVersion = true)} dependencies { implementation project(':client') } From 63a477decb5a2b154c0f2648c081e433af2a2929 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 16:10:01 +0800 Subject: [PATCH 13/16] Don't assert existing in path --- .../jengelman/gradle/plugins/shadow/BasePluginTest.kt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index d9e74b7be..4c96473b4 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -1,7 +1,5 @@ package com.github.jengelman.gradle.plugins.shadow -import assertk.assertThat -import assertk.assertions.exists import com.github.jengelman.gradle.plugins.shadow.ShadowApplicationPlugin.Companion.SHADOW_RUN_TASK_NAME import com.github.jengelman.gradle.plugins.shadow.ShadowJavaPlugin.Companion.SHADOW_JAR_TASK_NAME import com.github.jengelman.gradle.plugins.shadow.tasks.JavaJarExec @@ -130,10 +128,7 @@ abstract class BasePluginTest { return root.resolve(path).also { val extension = it.extension // Binary files should be asserted to exist, text files should be created. - if (extension == "jar" || extension == "zip") { - assertThat(it).exists() - return@also - } + if (extension == "jar" || extension == "zip") return@also if (!it.exists()) { it.parent.createDirectories() it.createFile() From e540afae2dda9b5b1466aabe34e9069e4f139cd9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 16:13:46 +0800 Subject: [PATCH 14/16] Cleanup --- .../jengelman/gradle/plugins/shadow/BasePluginTest.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index 4c96473b4..0863daca9 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -127,12 +127,11 @@ abstract class BasePluginTest { fun path(path: String): Path { return root.resolve(path).also { val extension = it.extension - // Binary files should be asserted to exist, text files should be created. - if (extension == "jar" || extension == "zip") return@also - if (!it.exists()) { - it.parent.createDirectories() - it.createFile() - } + // Binary files should not be created, text files should be created. + if (it.exists() || extension == "jar" || extension == "zip") return@also + + it.parent.createDirectories() + it.createFile() } } From 7f3991179eea1ee477fc481b6cc0606516342fd2 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 16:24:41 +0800 Subject: [PATCH 15/16] Rename getProjectBuildScript and getDefaultSettingsBuildScript --- .../shadow/BasePluginSpecification.groovy | 8 ++--- .../plugins/shadow/ShadowPluginSpec.groovy | 30 +++++++++---------- .../shadow/caching/AbstractCachingSpec.groovy | 2 +- .../caching/MinimizationCachingSpec.groovy | 2 +- .../gradle/plugins/shadow/ApplicationTest.kt | 2 +- .../gradle/plugins/shadow/BasePluginTest.kt | 12 ++++---- .../plugins/shadow/ConfigurationCacheSpec.kt | 2 +- .../gradle/plugins/shadow/RelocationTest.kt | 2 +- 8 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index c63ee0be8..b54f6da42 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -29,15 +29,15 @@ abstract class BasePluginSpecification extends Specification { .use(Paths.get(this.class.classLoader.getResource('junit-3.8.2.jar').toURI())) .publish() - buildScript << getProjectBuildScript('java', true, true) - settingsScript << settingsBuildScript + buildScript << getDefaultProjectBuildScript('java', true, true) + settingsScript << getDefaultSettingsBuildScript() } def cleanup() { println buildScript.text } - String getProjectBuildScript( + String getDefaultProjectBuildScript( String javaPlugin = 'java', boolean withGroup = false, boolean withVersion = false @@ -56,7 +56,7 @@ abstract class BasePluginSpecification extends Specification { """.stripIndent().trim() + System.lineSeparator() } - String getSettingsBuildScript(boolean withRootProject = true) { + String getDefaultSettingsBuildScript(boolean withRootProject = true) { def rootProjectInfo = withRootProject ? "rootProject.name = 'shadow'" : "" return """ dependencyResolutionManagement { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index 47a029bf0..bedc41c86 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -185,7 +185,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript dependencies { implementation project(':client') } @@ -237,7 +237,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript $shadowJar { minimize() @@ -288,7 +288,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript $shadowJar { minimize { @@ -339,7 +339,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript $shadowJar { minimize { @@ -392,7 +392,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript $shadowJar { minimize { @@ -443,7 +443,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript $shadowJar { minimize { @@ -521,7 +521,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getProjectBuildScript('java-library')} + ${getDefaultProjectBuildScript('java-library')} $shadowJar { minimize() @@ -595,7 +595,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getProjectBuildScript('java-library')} + ${getDefaultProjectBuildScript('java-library')} $shadowJar { minimize() @@ -632,7 +632,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('client/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript dependencies { implementation 'junit:junit:3.8.2' } @@ -687,7 +687,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('client/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript dependencies { implementation 'junit:junit:3.8.2' } @@ -706,7 +706,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript dependencies { implementation project(path: ':client', configuration: 'shadow') } """.stripIndent() @@ -806,7 +806,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('runtimeOnly.properties', 'runtimeOnly') .publish() - buildScript.text = getProjectBuildScript('java-library', true, true) + buildScript.text = getDefaultProjectBuildScript('java-library', true, true) buildScript << """ dependencies { api 'shadow:api:1.0' @@ -995,7 +995,7 @@ class ShadowPluginSpec extends BasePluginSpecification { """.stripIndent() file('impl/build.gradle') << """ - ${getProjectBuildScript('java-library')} + ${getDefaultProjectBuildScript('java-library')} version = '1.0' @@ -1092,7 +1092,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/609") def "doesn't error when using application mainClass property"() { given: - buildScript.text = projectBuildScript + buildScript.text = getDefaultProjectBuildScript() buildScript << """ project.ext { @@ -1130,7 +1130,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/pull/459") def 'exclude gradleApi() by default'() { given: - buildScript.text = getProjectBuildScript('java-gradle-plugin', true, true) + buildScript.text = getDefaultProjectBuildScript('java-gradle-plugin', true, true) file('src/main/java/my/plugin/MyPlugin.java') << """ package my.plugin; diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index dc942f828..545f0e5fc 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -29,7 +29,7 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { } void changeConfigurationTo(String content) { - buildScript.text = getProjectBuildScript('java', true, true) + buildScript.text = getDefaultProjectBuildScript('java', true, true) buildScript << content } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy index fb79d82d9..5c55d58a8 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/MinimizationCachingSpec.groovy @@ -38,7 +38,7 @@ class MinimizationCachingSpec extends AbstractCachingSpec { """.stripIndent() file('server/build.gradle') << """ - $projectBuildScript + $defaultProjectBuildScript dependencies { implementation project(':client') } """.stripIndent() diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt index 5160d4a04..db930be0e 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt @@ -120,7 +120,7 @@ class ApplicationTest : BasePluginTest() { """.trimIndent(), ) settingsScript.writeText( - getSettingsBuildScript( + getDefaultSettingsBuildScript( startBlock = settingsBlock, endBlock = "rootProject.name = 'myapp'", ), diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index 0863daca9..f62b436eb 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -40,8 +40,8 @@ abstract class BasePluginTest { .use(testJar) .publish() - buildScript.writeText(getProjectBuildScript(withGroup = true, withVersion = true)) - settingsScript.writeText(getSettingsBuildScript()) + buildScript.writeText(getDefaultProjectBuildScript(withGroup = true, withVersion = true)) + settingsScript.writeText(getDefaultSettingsBuildScript()) } @ExperimentalPathApi @@ -55,7 +55,7 @@ abstract class BasePluginTest { println(buildScript.readText()) } - fun getProjectBuildScript( + fun getDefaultProjectBuildScript( javaPlugin: String = "java", withGroup: Boolean = false, withVersion: Boolean = false, @@ -72,7 +72,7 @@ abstract class BasePluginTest { """.trimIndent() + System.lineSeparator() } - fun getSettingsBuildScript( + fun getDefaultSettingsBuildScript( startBlock: String = "", endBlock: String = "rootProject.name = 'shadow'", ): String { @@ -204,7 +204,7 @@ abstract class BasePluginTest { ) path("client/build.gradle").writeText( """ - ${getProjectBuildScript("java", withVersion = true)} + ${getDefaultProjectBuildScript("java", withVersion = true)} dependencies { implementation 'junit:junit:3.8.2' } """.trimIndent(), ) @@ -218,7 +218,7 @@ abstract class BasePluginTest { ) path("server/build.gradle").writeText( """ - ${getProjectBuildScript("java", withVersion = true)} + ${getDefaultProjectBuildScript("java", withVersion = true)} dependencies { implementation project(':client') } diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt index 0195b7360..ad55a87c5 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt @@ -130,7 +130,7 @@ class ConfigurationCacheSpec : BasePluginTest() { ) path("lib/build.gradle").writeText( """ - ${getProjectBuildScript()} + ${getDefaultProjectBuildScript()} dependencies { implementation 'junit:junit:3.8.2' } diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt index e502abfe4..b82da1c99 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt @@ -268,7 +268,7 @@ class RelocationTest : BasePluginTest() { path("app/build.gradle").writeText( """ - ${getProjectBuildScript()} + ${getDefaultProjectBuildScript()} dependencies { implementation project(':core') } From f3038c4f90b7435c869a1a73f66d7abad74a659a Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 29 Dec 2024 16:29:59 +0800 Subject: [PATCH 16/16] Rename getBuildScript and getSettingsScript --- .../shadow/BasePluginSpecification.groovy | 10 ++--- .../plugins/shadow/PublishingSpec.groovy | 16 ++++---- .../plugins/shadow/ShadowPluginSpec.groovy | 40 +++++++++---------- .../plugins/shadow/TransformerSpec.groovy | 34 ++++++++-------- .../shadow/caching/AbstractCachingSpec.groovy | 6 +-- .../caching/RelocationCachingSpec.groovy | 2 +- .../caching/ShadowJarCachingSpec.groovy | 8 ++-- .../caching/TransformCachingSpec.groovy | 2 +- .../gradle/plugins/shadow/ApplicationTest.kt | 4 +- .../gradle/plugins/shadow/BasePluginTest.kt | 14 +++---- .../plugins/shadow/ConfigurationCacheSpec.kt | 8 ++-- .../gradle/plugins/shadow/FilteringTest.kt | 20 +++++----- .../gradle/plugins/shadow/RelocationTest.kt | 14 +++---- 13 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy index b54f6da42..8ac09974d 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/BasePluginSpecification.groovy @@ -29,12 +29,12 @@ abstract class BasePluginSpecification extends Specification { .use(Paths.get(this.class.classLoader.getResource('junit-3.8.2.jar').toURI())) .publish() - buildScript << getDefaultProjectBuildScript('java', true, true) - settingsScript << getDefaultSettingsBuildScript() + projectScriptFile << getDefaultProjectBuildScript('java', true, true) + settingsScriptFile << getDefaultSettingsBuildScript() } def cleanup() { - println buildScript.text + println projectScriptFile.text } String getDefaultProjectBuildScript( @@ -111,11 +111,11 @@ abstract class BasePluginSpecification extends Specification { output.contains("has been deprecated. This is scheduled to be removed in Gradle") } - File getBuildScript() { + File getProjectScriptFile() { file('build.gradle') } - File getSettingsScript() { + File getSettingsScriptFile() { file('settings.gradle') } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy index 032fbda70..08e9b8170 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/PublishingSpec.groovy @@ -26,8 +26,8 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsScript << "rootProject.name = 'maven'" - buildScript << """ + settingsScriptFile << "rootProject.name = 'maven'" + projectScriptFile << """ apply plugin: 'maven-publish' dependencies { @@ -93,8 +93,8 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsScript << "rootProject.name = 'maven'" - buildScript << """ + settingsScriptFile << "rootProject.name = 'maven'" + projectScriptFile << """ apply plugin: 'maven-publish' dependencies { @@ -134,14 +134,14 @@ class PublishingSpec extends BasePluginSpecification { def "publish multiproject shadow jar with maven-publish plugin"() { given: - settingsScript << """ + settingsScriptFile << """ rootProject.name = 'maven' include 'a' include 'b' include 'c' """.stripMargin() - buildScript.text = """ + projectScriptFile.text = """ subprojects { apply plugin: 'java' apply plugin: 'maven-publish' @@ -237,10 +237,10 @@ class PublishingSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - settingsScript << """ + settingsScriptFile << """ rootProject.name = 'maven' """ - buildScript << """ + projectScriptFile << """ apply plugin: 'maven-publish' dependencies { implementation 'shadow:a:1.0' diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy index bedc41c86..5117778e4 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPluginSpec.groovy @@ -71,7 +71,7 @@ class ShadowPluginSpec extends BasePluginSpecification { repo.module('shadow', 'two', '1.0').insertFile('META-INF/services/shadow.Shadow', 'two # NOTE: No newline terminates this line/file').publish() - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' implementation files('${escapedPath(one)}') @@ -96,7 +96,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def 'Error in Gradle versions < 8.3'() { given: - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } @@ -117,7 +117,7 @@ class ShadowPluginSpec extends BasePluginSpecification { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildScript << """ + projectScriptFile << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -138,7 +138,7 @@ class ShadowPluginSpec extends BasePluginSpecification { public class Passed {} '''.stripIndent() - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } $shadowJar { @@ -746,7 +746,7 @@ class ShadowPluginSpec extends BasePluginSpecification { public class Passed {} '''.stripIndent() - buildScript << """ + projectScriptFile << """ dependencies { implementation 'shadow:a:1.0' } """.stripIndent() @@ -770,7 +770,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - buildScript << """ + projectScriptFile << """ dependencies { runtimeOnly 'shadow:a:1.0' shadow 'shadow:b:1.0' @@ -806,8 +806,8 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('runtimeOnly.properties', 'runtimeOnly') .publish() - buildScript.text = getDefaultProjectBuildScript('java-library', true, true) - buildScript << """ + projectScriptFile.text = getDefaultProjectBuildScript('java-library', true, true) + projectScriptFile << """ dependencies { api 'shadow:api:1.0' implementation 'shadow:implementation:1.0' @@ -833,7 +833,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('b.properties', 'b') .publish() - buildScript << """ + projectScriptFile << """ dependencies { runtimeOnly 'shadow:a:1.0' compileOnly 'shadow:b:1.0' @@ -860,7 +860,7 @@ class ShadowPluginSpec extends BasePluginSpecification { .insertFile('META-INF/MANIFEST.MF', 'MANIFEST B') .publish() - buildScript << """ + projectScriptFile << """ dependencies { runtimeOnly 'shadow:a:1.0' runtimeOnly 'shadow:b:1.0' @@ -878,7 +878,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "Class-Path in Manifest not added if empty"() { given: - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() @@ -898,7 +898,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "add shadow configuration to Class-Path in Manifest"() { given: - buildScript << """ + projectScriptFile << """ dependencies { shadow 'junit:junit:3.8.2' } @@ -928,7 +928,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "do not include null value in Class-Path when jar file does not contain Class-Path"() { given: - buildScript << """ + projectScriptFile << """ dependencies { shadow 'junit:junit:3.8.2' } """.stripIndent() @@ -950,7 +950,7 @@ class ShadowPluginSpec extends BasePluginSpecification { def "support ZipCompression.STORED"() { given: - buildScript << """ + projectScriptFile << """ dependencies { shadow 'junit:junit:3.8.2' } $shadowJar { @@ -1034,7 +1034,7 @@ class ShadowPluginSpec extends BasePluginSpecification { } """.stripIndent() - buildScript << """ + projectScriptFile << """ apply plugin: 'application' application { @@ -1078,7 +1078,7 @@ class ShadowPluginSpec extends BasePluginSpecification { } """.stripIndent() - settingsScript << "rootProject.name = 'myapp'" + settingsScriptFile << "rootProject.name = 'myapp'" when: BuildResult result = run('runShadow') @@ -1092,9 +1092,9 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/609") def "doesn't error when using application mainClass property"() { given: - buildScript.text = getDefaultProjectBuildScript() + projectScriptFile.text = getDefaultProjectBuildScript() - buildScript << """ + projectScriptFile << """ project.ext { aspectjVersion = '1.8.12' } @@ -1130,7 +1130,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/pull/459") def 'exclude gradleApi() by default'() { given: - buildScript.text = getDefaultProjectBuildScript('java-gradle-plugin', true, true) + projectScriptFile.text = getDefaultProjectBuildScript('java-gradle-plugin', true, true) file('src/main/java/my/plugin/MyPlugin.java') << """ package my.plugin; @@ -1159,7 +1159,7 @@ class ShadowPluginSpec extends BasePluginSpecification { @Issue("https://github.com/GradleUp/shadow/issues/1070") def 'can register a custom shadow jar task'() { - buildScript << """ + projectScriptFile << """ dependencies { testImplementation 'junit:junit:3.8.2' } diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy index 37d81ebff..f9c5d3cd8 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/TransformerSpec.groovy @@ -26,7 +26,7 @@ class TransformerSpec extends BasePluginSpecification { .insert('META-INF/services/com.acme.Foo', 'two') .write() - buildScript << """ + projectScriptFile << """ import ${ServiceFileTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -64,7 +64,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() def two = buildJar('two.jar').insert('META-INF/foo/org.apache.maven.Shade', 'two # NOTE: No newline terminates this line/file').write() - buildScript << """ + projectScriptFile << """ import ${ServiceFileTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -103,7 +103,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() .insert('META-INF/services/com.acme.Foo', 'two') .write() - buildScript << """ + projectScriptFile << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -154,7 +154,7 @@ com.mysql.jdbc.Driver'''.stripIndent()) 'org.mortbay.log.Factory') .write() - buildScript << """ + projectScriptFile << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -204,7 +204,7 @@ org.mortbay.log.Factory'''.stripIndent() def two = buildJar('two.jar').insert('META-INF/foo/org.apache.maven.Shade', 'two # NOTE: No newline terminates this line/file').write() - buildScript << """ + projectScriptFile << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -238,7 +238,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() repo.module('shadow', 'two', '1.0').insertFile('META-INF/services/shadow.Shadow', 'two # NOTE: No newline terminates this line/file').publish() - buildScript << """ + projectScriptFile << """ dependencies { implementation 'shadow:two:1.0' implementation files('${escapedPath(one)}') @@ -275,7 +275,7 @@ two # NOTE: No newline terminates this line/file'''.stripIndent() def two = buildJar('two.jar').insert('test.properties', 'two # NOTE: No newline terminates this line/file').write() - buildScript << """ + projectScriptFile << """ import ${AppendingTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -309,7 +309,7 @@ two # NOTE: No newline terminates this line/file def two = buildJar('two.jar').insert('test.properties', 'two # NOTE: No newline terminates this line/file').write() - buildScript << """ + projectScriptFile << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -344,7 +344,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildScript << """ + projectScriptFile << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -381,7 +381,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildScript << """ + projectScriptFile << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -434,7 +434,7 @@ two # NOTE: No newline terminates this line/file '''.stripIndent() ).write() - buildScript << """ + projectScriptFile << """ import ${XmlAppendingTransformer.name} $shadowJar { @@ -477,7 +477,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildScript << """ + projectScriptFile << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -537,7 +537,7 @@ two # NOTE: No newline terminates this line/file } '''.stripIndent() - buildScript << """ + projectScriptFile << """ jar { manifest { attributes 'Main-Class': 'shadow.Main' @@ -600,7 +600,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildScript << """ + projectScriptFile << """ import ${GroovyExtensionModuleTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -641,7 +641,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildScript << """ + projectScriptFile << """ import ${GroovyExtensionModuleTransformer.name} $shadowJar { from('${escapedPath(one)}') @@ -683,7 +683,7 @@ moduleVersion=2.3.5 extensionClasses=com.acme.bar.SomeExtension,com.acme.bar.AnotherExtension staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write() - buildScript << """ + projectScriptFile << """ $shadowJar { from('${escapedPath(one)}') from('${escapedPath(two)}') @@ -713,7 +713,7 @@ staticExtensionClasses=com.acme.bar.SomeStaticExtension'''.stripIndent()).write( if (configuration.contains('test/some.file')) { file('test/some.file') << 'some content' } - buildScript << """ + projectScriptFile << """ import com.github.jengelman.gradle.plugins.shadow.transformers.${transformer} $shadowJar { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy index 545f0e5fc..d227f8e79 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/AbstractCachingSpec.groovy @@ -19,7 +19,7 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { def setup() { // Use a test-specific build cache directory. This ensures that we'll only use cached outputs generated during this // test and we won't accidentally use cached outputs from a different test or a different build. - settingsScript << """ + settingsScriptFile << """ buildCache { local { directory = new File(rootDir, 'build-cache') @@ -29,8 +29,8 @@ abstract class AbstractCachingSpec extends BasePluginSpecification { } void changeConfigurationTo(String content) { - buildScript.text = getDefaultProjectBuildScript('java', true, true) - buildScript << content + projectScriptFile.text = getDefaultProjectBuildScript('java', true, true) + projectScriptFile << content } BuildResult runWithCacheEnabled(String... arguments) { diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy index 960ef7f8f..8fbc18a15 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/RelocationCachingSpec.groovy @@ -6,7 +6,7 @@ class RelocationCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when relocation is added'() { given: - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy index 4220a0ce7..4c786054c 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/ShadowJarCachingSpec.groovy @@ -10,7 +10,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildScript << """ + projectScriptFile << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -49,7 +49,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { URL artifact = this.class.classLoader.getResource('test-artifact-1.0-SNAPSHOT.jar') URL project = this.class.classLoader.getResource('test-project-1.0-SNAPSHOT.jar') - buildScript << """ + projectScriptFile << """ $shadowJar { from('${artifact.path}') from('${project.path}') @@ -82,7 +82,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when using includes/excludes'() { given: - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } $shadowJar { @@ -160,7 +160,7 @@ class ShadowJarCachingSpec extends AbstractCachingSpec { */ def 'shadowJar is cached correctly when using dependency includes/excludes'() { given: - buildScript << """ + projectScriptFile << """ dependencies { implementation 'junit:junit:3.8.2' } """.stripIndent() diff --git a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy index b69e8a3b2..e48996e52 100644 --- a/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy +++ b/src/funcTest/groovy/com/github/jengelman/gradle/plugins/shadow/caching/TransformCachingSpec.groovy @@ -18,7 +18,7 @@ class TransformCachingSpec extends AbstractCachingSpec { public class Server {} """.stripIndent() - buildScript << """ + projectScriptFile << """ import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext import org.apache.tools.zip.ZipOutputStream diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt index db930be0e..6fe3f2464 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt @@ -103,7 +103,7 @@ class ApplicationTest : BasePluginTest() { } """.trimIndent(), ) - buildScript.appendText( + projectScriptPath.appendText( """ apply plugin: 'application' $projectBlock @@ -119,7 +119,7 @@ class ApplicationTest : BasePluginTest() { } """.trimIndent(), ) - settingsScript.writeText( + settingsScriptPath.writeText( getDefaultSettingsBuildScript( startBlock = settingsBlock, endBlock = "rootProject.name = 'myapp'", diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt index f62b436eb..7f047228b 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/BasePluginTest.kt @@ -40,8 +40,8 @@ abstract class BasePluginTest { .use(testJar) .publish() - buildScript.writeText(getDefaultProjectBuildScript(withGroup = true, withVersion = true)) - settingsScript.writeText(getDefaultSettingsBuildScript()) + projectScriptPath.writeText(getDefaultProjectBuildScript(withGroup = true, withVersion = true)) + settingsScriptPath.writeText(getDefaultSettingsBuildScript()) } @ExperimentalPathApi @@ -52,7 +52,7 @@ abstract class BasePluginTest { root.deleteRecursively() } - println(buildScript.readText()) + println(projectScriptPath.readText()) } fun getDefaultProjectBuildScript( @@ -115,10 +115,10 @@ abstract class BasePluginTest { open val shadowJarTask = SHADOW_JAR_TASK_NAME open val runShadowTask = SHADOW_RUN_TASK_NAME - val buildScript: Path + val projectScriptPath: Path get() = path("build.gradle") - val settingsScript: Path + val settingsScriptPath: Path get() = path("settings.gradle") val outputShadowJar: Path @@ -189,12 +189,12 @@ abstract class BasePluginTest { fun writeClientAndServerModules( serverShadowBlock: String = "", ) { - settingsScript.appendText( + settingsScriptPath.appendText( """ include 'client', 'server' """.trimIndent(), ) - buildScript.writeText("") + projectScriptPath.writeText("") path("client/src/main/java/client/Client.java").writeText( """ diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt index ad55a87c5..33fbcc040 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ConfigurationCacheSpec.kt @@ -20,7 +20,7 @@ class ConfigurationCacheSpec : BasePluginTest() { super.setup() publishArtifactA() publishArtifactB() - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:a:1.0' @@ -43,7 +43,7 @@ class ConfigurationCacheSpec : BasePluginTest() { """.trimIndent(), ) - buildScript.appendText( + projectScriptPath.appendText( """ apply plugin: 'application' @@ -64,7 +64,7 @@ class ConfigurationCacheSpec : BasePluginTest() { @Test fun configurationCachingSupportsExcludes() { - buildScript.appendText( + projectScriptPath.appendText( """ $shadowJar { exclude 'a2.properties' @@ -116,7 +116,7 @@ class ConfigurationCacheSpec : BasePluginTest() { @Test fun configurationCachingOfConfigurationsIsUpToDate() { - settingsScript.appendText( + settingsScriptPath.appendText( """ include 'lib' """.trimIndent(), diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt index 6defcca53..1eead9284 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt @@ -19,7 +19,7 @@ class FilteringTest : BasePluginTest() { publishArtifactA() publishArtifactB() - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:a:1.0' @@ -40,7 +40,7 @@ class FilteringTest : BasePluginTest() { @Test fun excludeFiles() { - buildScript.appendText( + projectScriptPath.appendText( """ $shadowJar { exclude 'a2.properties' @@ -73,7 +73,7 @@ class FilteringTest : BasePluginTest() { @Test fun excludeDependencyUsingWildcardSyntax() { publishArtifactCD() - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:d:1.0' @@ -100,9 +100,9 @@ class FilteringTest : BasePluginTest() { commonAssertions() - val replaced = buildScript.readText() + val replaced = projectScriptPath.readText() .replace("exclude(dependency('shadow:d:1.0'))", "exclude(dependency('shadow:c:1.0'))") - buildScript.writeText(replaced) + projectScriptPath.writeText(replaced) val result = run(shadowJarTask) assertThat(result.task(":shadowJar")).isNotNull() @@ -126,9 +126,9 @@ class FilteringTest : BasePluginTest() { commonAssertions() - val replaced = buildScript.readText() + val replaced = projectScriptPath.readText() .replace("exclude(dependency('shadow:d:1.0'))", "exclude 'a.properties'") - buildScript.writeText(replaced) + projectScriptPath.writeText(replaced) val result = run(shadowJarTask) @@ -147,7 +147,7 @@ class FilteringTest : BasePluginTest() { @Test fun includeDependencyAndExcludeOthers() { publishArtifactCD() - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:d:1.0' @@ -228,7 +228,7 @@ class FilteringTest : BasePluginTest() { @Test fun verifyExcludePrecedenceOverInclude() { - buildScript.appendText( + projectScriptPath.appendText( """ $shadowJar { include '*.jar' @@ -261,7 +261,7 @@ class FilteringTest : BasePluginTest() { } private fun dependOnAndExcludeArtifactD() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:d:1.0' diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt index b82da1c99..a80671375 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt @@ -15,7 +15,7 @@ class RelocationTest : BasePluginTest() { @Test fun defaultEnableRelocation() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'junit:junit:3.8.2' @@ -55,7 +55,7 @@ class RelocationTest : BasePluginTest() { */ @Test fun relocateDependencyFiles() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'junit:junit:3.8.2' @@ -121,7 +121,7 @@ class RelocationTest : BasePluginTest() { @Test fun relocateDependencyFilesWithFiltering() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'junit:junit:3.8.2' @@ -185,7 +185,7 @@ class RelocationTest : BasePluginTest() { */ @Test fun remapClassNamesForRelocatedFilesInProjectSource() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'junit:junit:3.8.2' @@ -290,7 +290,7 @@ class RelocationTest : BasePluginTest() { """.trimIndent(), ) - settingsScript.appendText( + settingsScriptPath.appendText( """ include 'core', 'app' """.trimIndent(), @@ -332,7 +332,7 @@ class RelocationTest : BasePluginTest() { ) path("src/main/resources/foo/foo.properties").writeText("name=foo") - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'shadow:dep:1.0' @@ -368,7 +368,7 @@ class RelocationTest : BasePluginTest() { */ @Test fun doesNotErrorOnRelocatingJava9Classes() { - buildScript.appendText( + projectScriptPath.appendText( """ dependencies { implementation 'org.slf4j:slf4j-api:1.7.21'