Skip to content

Commit 14155b7

Browse files
committed
Update tests
1 parent 73f3bee commit 14155b7

2 files changed

Lines changed: 25 additions & 8 deletions

File tree

src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginsTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ class JavaPluginsTest : BasePluginTest() {
100100
"--no-add-multi-release-attribute Disables option --add-multi-release-attribute.",
101101
"--enable-auto-relocation Enables auto relocation of packages in the dependencies.",
102102
"--no-enable-auto-relocation Disables option --enable-auto-relocation.",
103+
"--enable-kotlin-module-relocation Enables relocation of Kotlin module metadata files.",
104+
"--no-enable-kotlin-module-relocation Disables option --enable-kotlin-module-relocation.",
103105
"--fail-on-duplicate-entries Fails build if the ZIP entries in the shadowed JAR are duplicate.",
104106
"--no-fail-on-duplicate-entries Disables option --fail-on-duplicate-entries",
105107
"--main-class Main class attribute to add to manifest.",

src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -603,12 +603,14 @@ class RelocationTest : BasePluginTest() {
603603
@Issue(
604604
"https://github.com/GradleUp/shadow/issues/843",
605605
)
606-
@Test
607606
@OptIn(UnstableMetadataApi::class)
608-
fun relocateKotlinModuleFiles() {
607+
@ParameterizedTest
608+
@ValueSource(booleans = [false, true])
609+
fun relocateKotlinModuleFiles(enableKotlinModuleRelocation: Boolean) {
609610
val originalModuleFilePath = "META-INF/kotlin-stdlib.kotlin_module"
611+
val originalModuleFileBytes = requireResourceAsPath(originalModuleFilePath).readBytes()
610612
val stdlibJar = buildJar("stdlib.jar") {
611-
insert(originalModuleFilePath, requireResourceAsPath(originalModuleFilePath).readBytes())
613+
insert(originalModuleFilePath, originalModuleFileBytes)
612614
}
613615
projectScript.appendText(
614616
"""
@@ -617,18 +619,31 @@ class RelocationTest : BasePluginTest() {
617619
}
618620
$shadowJarTask {
619621
relocate('kotlin', 'my.kotlin')
622+
enableKotlinModuleRelocation = $enableKotlinModuleRelocation
620623
}
621624
""".trimIndent(),
622625
)
623626

624627
runWithSuccess(shadowJarPath)
625628

626629
val relocatedModuleFilePath = "META-INF/kotlin-stdlib.shadow.kotlin_module"
627-
assertThat(outputShadowedJar).useAll {
628-
containsOnly(
629-
relocatedModuleFilePath,
630-
*manifestEntries,
631-
)
630+
631+
if (enableKotlinModuleRelocation) {
632+
assertThat(outputShadowedJar).useAll {
633+
containsOnly(
634+
relocatedModuleFilePath,
635+
*manifestEntries,
636+
)
637+
}
638+
} else {
639+
assertThat(outputShadowedJar).useAll {
640+
containsOnly(
641+
originalModuleFilePath,
642+
*manifestEntries,
643+
)
644+
}
645+
assertThat(outputShadowedJar.getBytes(originalModuleFilePath)).isEqualTo(originalModuleFileBytes)
646+
return
632647
}
633648

634649
val originalModule = KotlinModuleMetadata.read(requireResourceAsStream(originalModuleFilePath).readBytes())

0 commit comments

Comments
 (0)