Consolidate all markdown documentation into organized structure per CONSOLIDATION_DIRECTIVE. All files preserved (canonical, merged, or archived). - docs/integration/ - Integration documentation (7 files) - docs/platform/ios/ - iOS platform docs (12 files) - docs/platform/android/ - Android platform docs (9 files) - docs/testing/ - Testing documentation (15 files) - docs/design/ - Design & research (5 files) - docs/ai/ - AI/ChatGPT artifacts (7 files) - docs/archive/2025-legacy-doc/ - Historical docs (17 files) - Integration: Root INTEGRATION_GUIDE.md → docs/integration/ - Platform: Separated iOS and Android into platform/ subdirectories - Testing: Consolidated all testing docs to docs/testing/ - Legacy: Archived entire doc/ directory to archive/ - AI: Moved all ChatGPT artifacts to docs/ai/ - Added docs/00-INDEX.md - Central navigation hub - Added docs/CONSOLIDATION_SOURCE_MAP.md - Complete audit trail - Added docs/CONSOLIDATION_COMPLETE.md - Consolidation summary - Updated README.md with links to documentation index - All 139 files have destinations (see CONSOLIDATION_SOURCE_MAP.md) - Zero information loss (all files preserved) - Archive preserves original structure - Index provides clear navigation - 87 files moved/created/updated - Root-level docs consolidated - Legacy doc/ directory archived - Test app docs remain with test apps (indexed) Ref: CONSOLIDATION_DIRECTIVE Author: Matthew Raymer
70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
# 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.
|
|
|