You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
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:
# 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
# This will fail - Capacitor dependencies aren't in Maven
cd android
./gradlew assembleDebug
Why This Happens
- Capacitor dependencies are npm packages, not Maven artifacts
- Capacitor plugins are meant to be consumed, not built standalone
- The consuming app provides Capacitor as a project dependency
- 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/:
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:
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.