I’m using a mix of osx/wsl/windows during development and I’ve noticed a couple of oddities with eas build:configure under windows.
It seems to not detect whether it has been run successfully, and prompts to re-run unexpectedly.
For android, this causes a duplicate apply from: "./eas-build.gradle" line in the build.gradle, which breaks the build.
For iOS, the build:configure seems to pick up windows-path backslashes in “Bundle React Native code and images” shellScript for expo-updates/scripts/create-manifest-ios.sh
This causes a build failure on the server in fastlane build/archive
Reverting to forward-slashes causes the local error
Error: Path to expo-updates/scripts/create-manifest-ios.sh is missing in a “Bundle React Native code and images” build phase.
Note the build submission process works fine under wsl.
However it looks like this was because the apply create-manifest-android.gradle was already present earlier on (around line 88) from the expo eject in an earlier version.
Removing that and tidying up the file has created a stable version as per this diff:
diff --git a/MyApp/android/app/build.gradle b/MyApp/android/app/build.gradle
index c6bbd5b..8ce05b4 100644
--- a/MyApp/android/app/build.gradle
+++ b/MyApp/android/app/build.gradle
@@ -84,7 +84,6 @@ project.ext.react = [
apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
apply from: "../../node_modules/react-native/react.gradle"
apply from: "../../node_modules/expo-constants/scripts/get-app-config-android.gradle"
-apply from: "../../node_modules/expo-updates/scripts/create-manifest-android.gradle"
/**
* Set this to true to create two separate APKs instead of one:
@@ -218,3 +217,6 @@ task copyDownloadableDepsToLibs(type: Copy) {
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
apply from: "./eas-build.gradle"
+
+// Integration with Expo updates
+apply from: "..\\..\\node_modules\\expo-updates\\scripts\\create-manifest-android.gradle"
Hope this helps - it’s now just the pbxproj that’s a blocker for me on windows.