Skip to content

Commit 3c4912b

Browse files
UNIDY2002yayvery
authored andcommitted
Configure Java toolchains only when executing App configuration (facebook#40757)
Summary: Fix facebook#40560 ## Changelog: [ANDROID] [FIXED] - Ensure that `configureJavaToolChains` is only executed once during configuration Pull Request resolved: facebook#40757 Test Plan: - Create a fresh `react-native@0.73.0-rc.1` project - Install `react-native-webview` - Apply [this patch](https://github.com/react-native-webview/react-native-webview/pull/3175/files) for `react-native-webview` (caused by another issue facebook#40559) - Edit `android/gradle.properties` and set `newArchEnabled` to true - Build application - (Expected) Application fail to build - Apply this PR - (Expected) Application build successfully **Additional explanation:** According to the implementation of `configureJavaToolChains`, all the subprojects (both the app and the libraries) will have their toolchains setup in one execution of the method. Therefore, it is okay for the method to be invoked only when configuring the plugin for the app. On the other hand, invoking the method for more than one time will cause the issue stated in facebook#40560. Reviewed By: cipolleschi Differential Revision: D50361871 Pulled By: cortinico fbshipit-source-id: bd5e18df97988122788d0482dba954e517a0cb5c
1 parent 1c2ff59 commit 3c4912b

File tree

1 file changed

+2
-4
lines changed
  • packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react

1 file changed

+2
-4
lines changed

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class ReactPlugin : Plugin<Project> {
6868
configureBuildConfigFieldsForApp(project)
6969
configureDevPorts(project)
7070
configureBackwardCompatibilityReactMap(project)
71+
configureJavaToolChains(project)
7172

7273
project.extensions.getByType(AndroidComponentsExtension::class.java).apply {
7374
onVariants(selector().all()) { variant ->
@@ -78,13 +79,10 @@ class ReactPlugin : Plugin<Project> {
7879
}
7980

8081
// Library Only Configuration
82+
configureBuildConfigFieldsForLibraries(project)
8183
project.pluginManager.withPlugin("com.android.library") {
8284
configureCodegen(project, extension, rootExtension, isLibrary = true)
8385
}
84-
85-
// Library and App Configurations
86-
configureJavaToolChains(project)
87-
configureBuildConfigFieldsForLibraries(project)
8886
}
8987

9088
private fun checkJvmVersion(project: Project) {

0 commit comments

Comments
 (0)