From cd95dea89b3aeb71d54687b14f22f0cb26ae0731 Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Wed, 15 Oct 2025 05:27:55 +0000 Subject: [PATCH] fix(build): add macOS compatibility for sed commands in build scripts - Fix sed -i syntax differences between macOS and Linux - macOS requires empty string after -i flag: sed -i '' 'pattern' file - Linux uses: sed -i 'pattern' file - Add OSTYPE detection to handle both platforms correctly - Fixes build script failures on macOS systems Resolves: sed command a expects \ followed by text error on macOS --- scripts/build-native.sh | 9 ++++++++- scripts/fix-capacitor-build.sh | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/scripts/build-native.sh b/scripts/build-native.sh index 63b3ae0..33e3f9a 100755 --- a/scripts/build-native.sh +++ b/scripts/build-native.sh @@ -120,7 +120,14 @@ build_android() { log_info " Fix: Commenting out problematic 'apply from' line" # Apply the fix by commenting out the problematic line - sed -i 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "app/capacitor.build.gradle" + # Handle macOS vs Linux sed differences + if [[ "$OSTYPE" == "darwin"* ]]; then + # macOS sed requires empty string after -i + sed -i '' 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "app/capacitor.build.gradle" + else + # Linux sed + sed -i 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "app/capacitor.build.gradle" + fi log_info "✅ Fix applied successfully" log_warn "⚠️ Note: This fix will be lost if you run 'npx cap sync' or 'npx cap update'" diff --git a/scripts/fix-capacitor-build.sh b/scripts/fix-capacitor-build.sh index 11bda70..cf03089 100755 --- a/scripts/fix-capacitor-build.sh +++ b/scripts/fix-capacitor-build.sh @@ -50,7 +50,14 @@ if [ -f "$CAPACITOR_BUILD_GRADLE" ]; then echo " Solution: Commenting out the problematic line" # Apply the fix by commenting out the problematic line - sed -i 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "$CAPACITOR_BUILD_GRADLE" + # Handle macOS vs Linux sed differences + if [[ "$OSTYPE" == "darwin"* ]]; then + # macOS sed requires empty string after -i + sed -i '' 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "$CAPACITOR_BUILD_GRADLE" + else + # Linux sed + sed -i 's/^apply from: "\.\.\/capacitor-cordova-android-plugins\/cordova\.variables\.gradle"/\/\/ Plugin development project - no Capacitor integration files needed\n\/\/ &/' "$CAPACITOR_BUILD_GRADLE" + fi echo "✅ Fix applied successfully!" echo "💡 The problematic line has been commented out with an explanation"