Skip to content

Commit 9f9c1fa

Browse files
cortinicofacebook-github-bot
authored andcommitted
Make sure buildConfig is turned on for all the 3rd party libraries (facebook#40939)
Summary: Currently some libs on RN 0.73 are broken as the default for Build Config generation changed from true to false since AGP 8.x. This reverts the behavior to the old flag. Closes facebook#40791 Closes facebook#40559 Changelog: [Internal] [Changed] - Make sure buildConfig is turned on for all the 3rd party libraries Reviewed By: mdvacca Differential Revision: D50270382
1 parent f00594b commit 9f9c1fa

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import com.android.build.gradle.internal.tasks.factory.dependsOn
1212
import com.facebook.react.internal.PrivateReactExtension
1313
import com.facebook.react.tasks.GenerateCodegenArtifactsTask
1414
import com.facebook.react.tasks.GenerateCodegenSchemaTask
15-
import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFields
15+
import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFieldsForApp
16+
import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFieldsForLibraries
1617
import com.facebook.react.utils.AgpConfiguratorUtils.configureDevPorts
1718
import com.facebook.react.utils.BackwardCompatUtils.configureBackwardCompatibilityReactMap
1819
import com.facebook.react.utils.DependencyUtils.configureDependencies
@@ -66,7 +67,7 @@ class ReactPlugin : Plugin<Project> {
6667
}
6768

6869
configureReactNativeNdk(project, extension)
69-
configureBuildConfigFields(project, extension)
70+
configureBuildConfigFieldsForApp(project, extension)
7071
configureDevPorts(project)
7172
configureBackwardCompatibilityReactMap(project)
7273

@@ -85,6 +86,7 @@ class ReactPlugin : Plugin<Project> {
8586

8687
// Library and App Configurations
8788
configureJavaToolChains(project)
89+
configureBuildConfigFieldsForLibraries(project)
8890
}
8991

9092
private fun checkJvmVersion(project: Project) {

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import org.gradle.api.plugins.AppliedPlugin
1818
@Suppress("UnstableApiUsage")
1919
internal object AgpConfiguratorUtils {
2020

21-
fun configureBuildConfigFields(project: Project, extension: ReactExtension) {
21+
fun configureBuildConfigFieldsForApp(project: Project, extension: ReactExtension) {
2222
val action =
2323
Action<AppliedPlugin> {
2424
project.extensions.getByType(AndroidComponentsExtension::class.java).finalizeDsl { ext ->
@@ -35,6 +35,16 @@ internal object AgpConfiguratorUtils {
3535
project.pluginManager.withPlugin("com.android.library", action)
3636
}
3737

38+
fun configureBuildConfigFieldsForLibraries(appProject: Project) {
39+
appProject.rootProject.allprojects { subproject ->
40+
subproject.pluginManager.withPlugin("com.android.library") {
41+
subproject.extensions.getByType(AndroidComponentsExtension::class.java).finalizeDsl { ext ->
42+
ext.buildFeatures.buildConfig = true
43+
}
44+
}
45+
}
46+
}
47+
3848
fun configureDevPorts(project: Project) {
3949
val devServerPort =
4050
project.properties["reactNativeDevServerPort"]?.toString() ?: DEFAULT_DEV_SERVER_PORT

0 commit comments

Comments
 (0)