From 5fab75279f7aed7c48b7e87585027519d0e7ef7b Mon Sep 17 00:00:00 2001 From: Hur Ali Date: Tue, 2 Dec 2025 20:51:32 +0500 Subject: [PATCH] fix: duplicate dynamic libs by retaining the instance of the map --- .../brownfield/processors/JNILibsProcessor.kt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt index d398d3e7..9da6057f 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt @@ -44,9 +44,14 @@ class JNILibsProcessor : BaseProject() { it.dependsOn(copyTask) it.doFirst { + val existingJNILibs = + listOf("arm64-v8a", "armeabi-v7a", "x86_64", "x86") + .associateWith { mutableListOf() } + .toMutableMap() + for (archiveLibrary in aarLibraries) { val jniDir = archiveLibrary.getJniDir() - processNestedLibs(jniDir.listFiles()) + processNestedLibs(jniDir.listFiles(), existingJNILibs) if (jniDir.exists()) { val filteredSourceSets = androidExtension.sourceSets.filter { sourceSet -> sourceSet.name == variant.name } filteredSourceSets.forEach { sourceSet -> sourceSet.jniLibs.srcDir(jniDir) } @@ -86,12 +91,10 @@ class JNILibsProcessor : BaseProject() { } } - private fun processNestedLibs(files: Array?) { - val existingJNILibs = - listOf("arm64-v8a", "armeabi-v7a", "x86_64", "x86") - .associateWith { mutableListOf() } - .toMutableMap() - + private fun processNestedLibs( + files: Array?, + existingJNILibs: MutableMap>, + ) { files?.forEach { folder -> val libFiles = folder.listFiles() ?: return@forEach val libList = existingJNILibs[folder.name] ?: return@forEach