@@ -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