Files
daily-notification-plugin/docs/platform/android/BUILDING.md
Matthew Raymer c39bd7cec6 docs: Consolidate documentation structure (139 files, zero information loss)
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
2025-12-18 09:13:18 +00:00

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

  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/:

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.