Skip to content

Commit f3a31f4

Browse files
committed
Fix AGP 9.1 compatibility issues in Gradle plugin
- ReactPlugin.kt: Use .asFile to convert Directory to File for directories.add() - AgpConfiguratorUtils.kt: Remove deprecated libraryVariants API, directly access manifest file These changes address AGP 9.1 API changes where libraryVariants was removed and Directory types need to be converted to File for source set configuration.
1 parent d570917 commit f3a31f4

2 files changed

Lines changed: 11 additions & 16 deletions

File tree

packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,12 @@ class ReactPlugin : Plugin<Project> {
234234
if (isLibrary) {
235235
project.extensions.getByType(LibraryAndroidComponentsExtension::class.java).finalizeDsl { ext
236236
->
237-
ext.sourceSets.getByName("main").java.directories.add(generatedSrcDir.get().dir("java"))
237+
ext.sourceSets.getByName("main").java.directories.add(generatedSrcDir.get().dir("java").asFile)
238238
}
239239
} else {
240240
project.extensions.getByType(ApplicationAndroidComponentsExtension::class.java).finalizeDsl {
241241
ext ->
242-
ext.sourceSets.getByName("main").java.directories.add(generatedSrcDir.get().dir("java"))
242+
ext.sourceSets.getByName("main").java.directories.add(generatedSrcDir.get().dir("java").asFile)
243243
}
244244
}
245245

packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/utils/AgpConfiguratorUtils.kt

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,21 +116,16 @@ internal object AgpConfiguratorUtils {
116116
val components = subproject.extensions
117117
.getByType(LibraryAndroidComponentsExtension::class.java)
118118

119-
components.libraryVariants.all { variant ->
120-
if (components.namespace == null) {
121-
val manifestFile = variant.sourceSets
122-
?.getByName("main")
123-
?.manifest
124-
?.srcFile
125-
126-
manifestFile
127-
?.takeIf { it.exists() }
128-
?.let { file ->
129-
getPackageNameFromManifest(file)?.let { packageName ->
130-
components.namespace = packageName
131-
}
119+
if (components.namespace == null) {
120+
val manifestFile = subproject.file("src/main/AndroidManifest.xml")
121+
122+
manifestFile
123+
.takeIf { it.exists() }
124+
?.let { file ->
125+
getPackageNameFromManifest(file)?.let { packageName ->
126+
components.namespace = packageName
132127
}
133-
}
128+
}
134129
}
135130
}
136131
}

0 commit comments

Comments
 (0)