Skip to content

Commit 908872a

Browse files
kraenhansenmeta-codesync[bot]
authored andcommitted
Fix build-from-source on Windows: use JVM temp dir instead of hardcoded /tmp (#57706)
Summary: `packages/react-native/settings.gradle.kts` declares the intermediate container projects `:packages` and `:packages:react-native` with `projectDir = file("/tmp")`, to satisfy Gradle 9's requirement that every project in a path have an existing folder. `/tmp` exists on posix hosts, but on Windows it is not an absolute path, so Gradle resolves it to a non-existent `<rootDir>\tmp` and build-from-source fails at configuration time: Configuring project ':packages:react-native' without an existing directory is not allowed. Use `System.getProperty("java.io.tmpdir", "/tmp")` instead — the JVM temp dir, which is `/tmp` on posix and `%TEMP%` on Windows, and always exists. ## Changelog [ANDROID] [FIXED] - Use the JVM temp dir instead of a hardcoded `/tmp` for the build-from-source container project dirs, fixing Gradle configuration on Windows Pull Request resolved: #57706 Test Plan: - posix: the resolved dir is unchanged (`/tmp`); build-from-source configures as before. - Windows: resolves to an existing temp dir, so `includeBuild(../node_modules/react-native)` configures successfully instead of erroring. - Downstream evidence: this exact change greened the `windows-latest` Gradle lane in callstackincubator/react-native-node-api#387. Reviewed By: christophpurrer Differential Revision: D113816859 Pulled By: Abbondanzo fbshipit-source-id: 9846dadab9012369dcab26aa05ea3297633acf9f
1 parent f911911 commit 908872a

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

packages/react-native/settings.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ project(":packages:react-native:ReactAndroid:hermes-engine").projectDir =
3434
// As we build :packages:react-native:ReactAndroid, we need to declare the folders
3535
// for :packages and :packages:react-native as well as otherwise the build from
3636
// source will fail with a missing folder exception.
37+
// We point them at the JVM temp dir rather than a hardcoded "/tmp": the latter is
38+
// not an absolute path on Windows, where Gradle would resolve it to a
39+
// non-existing <rootDir>\tmp and fail at configuration time.
3740

38-
project(":packages").projectDir = file("/tmp")
41+
project(":packages").projectDir = file(System.getProperty("java.io.tmpdir", "/tmp"))
3942

40-
project(":packages:react-native").projectDir = file("/tmp")
43+
project(":packages:react-native").projectDir = file(System.getProperty("java.io.tmpdir", "/tmp"))

0 commit comments

Comments
 (0)