Skip to content

Commit 549cff4

Browse files
cortinicoyayvery
authored andcommitted
Make sure buildConfig is turned on for all the 3rd party libraries (facebook#40939)
Summary: Pull Request resolved: facebook#40939 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 fbshipit-source-id: 02dcb031c577f65be2f41d9da0334c1b3d89e4c5
1 parent 6f34aca commit 549cff4

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
@@ -64,7 +65,7 @@ class ReactPlugin : Plugin<Project> {
6465
}
6566

6667
configureReactNativeNdk(project, extension)
67-
configureBuildConfigFields(project)
68+
configureBuildConfigFieldsForApp(project)
6869
configureDevPorts(project)
6970
configureBackwardCompatibilityReactMap(project)
7071

@@ -83,6 +84,7 @@ class ReactPlugin : Plugin<Project> {
8384

8485
// Library and App Configurations
8586
configureJavaToolChains(project)
87+
configureBuildConfigFieldsForLibraries(project)
8688
}
8789

8890
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
@@ -17,7 +17,7 @@ import org.gradle.api.plugins.AppliedPlugin
1717
@Suppress("UnstableApiUsage")
1818
internal object AgpConfiguratorUtils {
1919

20-
fun configureBuildConfigFields(project: Project) {
20+
fun configureBuildConfigFieldsForApp(project: Project) {
2121
val action =
2222
Action<AppliedPlugin> {
2323
project.extensions.getByType(AndroidComponentsExtension::class.java).finalizeDsl { ext ->
@@ -32,6 +32,16 @@ internal object AgpConfiguratorUtils {
3232
project.pluginManager.withPlugin("com.android.library", action)
3333
}
3434

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

0 commit comments

Comments
 (0)