# Building the Daily Notification Plugin ## Important: Standalone Build Limitations **Capacitor plugins cannot be built standalone** because Capacitor dependencies are npm packages, not Maven artifacts. ### ✅ Correct Way to Build Build the plugin **within a Capacitor app** that uses it: ```bash # In a consuming Capacitor app (e.g., test-apps/android-test-app or your app) cd /path/to/capacitor-app/android ./gradlew assembleDebug # Or use Capacitor CLI npx cap sync android npx cap run android ``` ### ❌ What Doesn't Work ```bash # This will fail - Capacitor dependencies aren't in Maven cd android ./gradlew assembleDebug ``` ### Why This Happens 1. **Capacitor dependencies are npm packages**, not Maven artifacts 2. **Capacitor plugins are meant to be consumed**, not built standalone 3. **The consuming app provides Capacitor** as a project dependency 4. **When you run `npx cap sync`**, Capacitor sets up the correct dependency structure ### For Development & Testing Use the test app at `test-apps/android-test-app/`: ```bash cd test-apps/android-test-app npm install npx cap sync android cd android ./gradlew assembleDebug ``` The plugin will be built as part of the test app's build process. ### Gradle Wrapper Purpose The gradle wrapper in `android/` is provided for: - ✅ **Syntax checking** - Verify build.gradle syntax - ✅ **Android Studio** - Open the plugin directory in Android Studio for editing - ✅ **Documentation** - Show available tasks and structure - ❌ **Not for standalone builds** - Requires a consuming app context ### Verifying Build Configuration You can verify the build configuration is correct: ```bash cd android ./gradlew tasks # Lists available tasks (may show dependency errors, that's OK) ./gradlew clean # Cleans build directory ``` The dependency errors are expected - they confirm the plugin needs a consuming app context.