From 6ded95307a7cfded799b43e6067ad6226810f87a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 09:29:16 +0000 Subject: [PATCH 1/3] Initial plan From 85527a87c249a51847eea271009215d69291826a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 09:35:25 +0000 Subject: [PATCH 2/3] Fix field flags and module exports/opens relocation in RelocatorRemapper Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com> --- .../shadow/internal/RelocatorRemapper.kt | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt index d178d149b..522eed6f4 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt @@ -24,6 +24,8 @@ import java.lang.classfile.attribute.ExceptionsAttribute import java.lang.classfile.attribute.InnerClassInfo import java.lang.classfile.attribute.InnerClassesAttribute import java.lang.classfile.attribute.ModuleAttribute +import java.lang.classfile.attribute.ModuleExportInfo +import java.lang.classfile.attribute.ModuleOpenInfo import java.lang.classfile.attribute.ModuleProvideInfo import java.lang.classfile.attribute.NestHostAttribute import java.lang.classfile.attribute.NestMembersAttribute @@ -55,6 +57,7 @@ import java.lang.constant.DynamicCallSiteDesc import java.lang.constant.DynamicConstantDesc import java.lang.constant.MethodHandleDesc import java.lang.constant.MethodTypeDesc +import java.lang.constant.PackageDesc import java.util.regex.Pattern /** @@ -74,6 +77,7 @@ internal class RelocatorRemapper( clb.withField( cle.fieldName().stringValue(), mapClassDesc(ClassDesc.ofDescriptor(cle.fieldType().stringValue())), + cle.flags().flagsMask(), ) { fb -> fb.transform(cle, asFieldTransform()) } @@ -123,8 +127,20 @@ internal class RelocatorRemapper( cle.moduleFlagsMask(), cle.moduleVersion().orElse(null), cle.requires(), - cle.exports(), - cle.opens(), + cle.exports().map { mei -> + ModuleExportInfo.of( + clb.constantPool().packageEntry(PackageDesc.ofInternalName(map(mei.exportedPackage().asSymbol().internalName()))), + mei.exportsFlagsMask(), + mei.exportsTo(), + ) + }, + cle.opens().map { moi -> + ModuleOpenInfo.of( + clb.constantPool().packageEntry(PackageDesc.ofInternalName(map(moi.openedPackage().asSymbol().internalName()))), + moi.opensFlagsMask(), + moi.opensTo(), + ) + }, cle.uses().map { clb.constantPool().classEntry(mapClassDesc(it.asSymbol())!!) }, cle.provides().map { mp -> ModuleProvideInfo.of( From 5c2104cddbad85c405e237352a4e6238543b176e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Mar 2026 10:00:05 +0000 Subject: [PATCH 3/3] Fix compilation error and spotless format violations in RelocatorRemapper Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com> --- .../plugins/shadow/internal/RelocatorRemapper.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt index 522eed6f4..ae00eb4bd 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt @@ -77,9 +77,8 @@ internal class RelocatorRemapper( clb.withField( cle.fieldName().stringValue(), mapClassDesc(ClassDesc.ofDescriptor(cle.fieldType().stringValue())), - cle.flags().flagsMask(), ) { fb -> - fb.transform(cle, asFieldTransform()) + fb.withFlags(cle.flags().flagsMask()).transform(cle, asFieldTransform()) } is MethodModel -> clb.withMethod( @@ -129,14 +128,22 @@ internal class RelocatorRemapper( cle.requires(), cle.exports().map { mei -> ModuleExportInfo.of( - clb.constantPool().packageEntry(PackageDesc.ofInternalName(map(mei.exportedPackage().asSymbol().internalName()))), + clb + .constantPool() + .packageEntry( + PackageDesc.ofInternalName(map(mei.exportedPackage().asSymbol().internalName())) + ), mei.exportsFlagsMask(), mei.exportsTo(), ) }, cle.opens().map { moi -> ModuleOpenInfo.of( - clb.constantPool().packageEntry(PackageDesc.ofInternalName(map(moi.openedPackage().asSymbol().internalName()))), + clb + .constantPool() + .packageEntry( + PackageDesc.ofInternalName(map(moi.openedPackage().asSymbol().internalName())) + ), moi.opensFlagsMask(), moi.opensTo(), )