diff --git a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt index dcdfc19026d..b67e8826b33 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt +++ b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactExtension.kt @@ -188,6 +188,7 @@ abstract class ReactExtension @Inject constructor(val project: Project) { ?.dependencies ?.values ?.filter { it.platforms?.android !== null } + ?.filterNot { it.platforms?.android?.isPureCxxDependency == true } ?.forEach { deps -> val nameCleansed = deps.nameCleansed val dependencyConfiguration = deps.platforms?.android?.dependencyConfiguration diff --git a/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/ReactExtensionTest.kt b/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/ReactExtensionTest.kt index d1fcb3d216b..6340f7fd81a 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/ReactExtensionTest.kt +++ b/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/ReactExtensionTest.kt @@ -189,6 +189,44 @@ class ReactExtensionTest { assertThat(deps).isEmpty() } + @Test + fun getGradleDependenciesToApply_withIsPureCxxDeps_filtersCorrectly() { + val validJsonFile = + createJsonFile( + """ + { + "reactNativeVersion": "1000.0.0", + "dependencies": { + "@react-native/oss-library-example": { + "root": "./node_modules/@react-native/android-example", + "name": "@react-native/android-example", + "platforms": { + "android": { + "sourceDir": "src/main/java", + "packageImportPath": "com.facebook.react" + } + } + }, + "@react-native/another-library-for-testing": { + "root": "./node_modules/@react-native/cxx-testing", + "name": "@react-native/cxx-testing", + "platforms": { + "android": { + "sourceDir": "src/main/java", + "packageImportPath": "com.facebook.react", + "isPureCxxDependency": true + } + } + } + } + } + """ + .trimIndent()) + + val deps = getGradleDependenciesToApply(validJsonFile) + assertThat(deps).containsExactly("implementation" to ":react-native_android-example") + } + private fun createJsonFile(@Language("JSON") input: String) = tempFolder.newFile().apply { writeText(input) } }