#!/bin/bash # ============================================================================= # FIX SCRIPT: capacitor.build.gradle for Plugin Development Projects # ============================================================================= # # PURPOSE: This script fixes a common issue in Capacitor plugin development # projects where the auto-generated capacitor.build.gradle file tries to load # a file that doesn't exist, causing build failures. # # WHEN TO USE: # - After running 'npx cap sync' # - After running 'npx cap update' # - After running 'npx cap add android' # - After any Capacitor CLI command that regenerates integration files # - When you get build errors about missing cordova.variables.gradle # # WHAT IT DOES: # - Finds the problematic line in capacitor.build.gradle # - Comments it out with an explanatory comment # - Prevents build failures in plugin development projects # # THE PROBLEM: # Capacitor generates this line in capacitor.build.gradle: # apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" # But plugin development projects don't have this file, causing: # "Could not read script '.../cordova.variables.gradle' as it does not exist" # # THE FIX: # Comments out the problematic line and adds explanation: # // Plugin development project - no Capacitor integration files needed # // apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" # # ============================================================================= set -e CAPACITOR_BUILD_GRADLE="android/app/capacitor.build.gradle" echo "🔧 DailyNotification Plugin - Capacitor Build Fix Script" echo "========================================================" if [ -f "$CAPACITOR_BUILD_GRADLE" ]; then echo "📁 Found capacitor.build.gradle at: $CAPACITOR_BUILD_GRADLE" # Check if the problematic line exists and isn't already commented if grep -q "^apply from: \"../capacitor-cordova-android-plugins/cordova.variables.gradle\"" "$CAPACITOR_BUILD_GRADLE"; then echo "🔧 Applying fix to capacitor.build.gradle..." echo " Problem: Line tries to load non-existent cordova.variables.gradle" 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" echo "✅ Fix applied successfully!" echo "💡 The problematic line has been commented out with an explanation" echo "âš ī¸ Note: This fix will be lost if you run Capacitor CLI commands again" echo "🔄 To restore the fix later, run this script again or use the build script" else echo "â„šī¸ capacitor.build.gradle already has the fix applied or doesn't need fixing" echo " (The problematic line is either commented out or doesn't exist)" fi else echo "âš ī¸ capacitor.build.gradle not found at: $CAPACITOR_BUILD_GRADLE" echo " This may indicate:" echo " - You're not in the correct directory" echo " - The Android project structure is different" echo " - The file hasn't been generated yet" fi echo "" echo "📚 For more information, see:" echo " - BUILDING.md (troubleshooting section)" echo " - scripts/build-native.sh (automatic fix documentation)" echo "========================================================"