Restructure Android project from nested module layout to standard Capacitor plugin structure following community conventions. Structure Changes: - Move plugin code from android/plugin/ to android/src/main/java/ - Move test app from android/app/ to test-apps/android-test-app/app/ - Remove nested android/plugin module structure - Remove nested android/app test app structure Build Infrastructure: - Add Gradle wrapper files (gradlew, gradlew.bat, gradle/wrapper/) - Transform android/build.gradle from root project to library module - Update android/settings.gradle for standalone plugin builds - Add android/gradle.properties with AndroidX configuration - Add android/consumer-rules.pro for ProGuard rules Configuration Updates: - Add prepare script to package.json for automatic builds on npm install - Update package.json version to 1.0.1 - Update android/build.gradle to properly resolve Capacitor dependencies - Update test-apps/android-test-app/settings.gradle with correct paths - Remove android/variables.gradle (hardcode values in build.gradle) Documentation: - Update BUILDING.md with new structure and build process - Update INTEGRATION_GUIDE.md to reflect standard structure - Update README.md to remove path fix warnings - Add test-apps/BUILD_PROCESS.md documenting test app build flows Test App Configuration: - Fix android-test-app to correctly reference plugin and Capacitor - Remove capacitor-cordova-android-plugins dependency (not needed) - Update capacitor.settings.gradle path verification in fix script BREAKING CHANGE: Plugin now uses standard Capacitor Android structure. Consuming apps must update their capacitor.settings.gradle to reference android/ instead of android/plugin/. This is automatically handled by Capacitor CLI for apps using standard plugin installation.
28 lines
1.3 KiB
Groovy
28 lines
1.3 KiB
Groovy
include ':app'
|
|
// Note: capacitor-cordova-android-plugins is not needed for standalone Android test app
|
|
// It's only generated by Capacitor CLI for Capacitor apps
|
|
|
|
// Include Capacitor Android (required for plugin)
|
|
// Try to find Capacitor from the Vue test app's node_modules
|
|
def capacitorPath = new File(settingsDir, '../daily-notification-test/node_modules/@capacitor/android/capacitor')
|
|
if (capacitorPath.exists()) {
|
|
include ':capacitor-android'
|
|
project(':capacitor-android').projectDir = capacitorPath
|
|
} else {
|
|
throw new GradleException("Capacitor not found at ${capacitorPath.absolutePath}. Please run 'npm install' in test-apps/daily-notification-test/ first.")
|
|
}
|
|
|
|
// Reference plugin from parent directory (for local development)
|
|
// Path: test-apps/android-test-app/../../android = root/android
|
|
// settingsDir = test-apps/android-test-app/
|
|
// settingsDir.parentFile = test-apps/
|
|
// settingsDir.parentFile.parentFile = root project directory
|
|
def pluginPath = new File(settingsDir.parentFile.parentFile, 'android')
|
|
if (pluginPath.exists() && new File(pluginPath, 'build.gradle').exists()) {
|
|
include ':daily-notification-plugin'
|
|
project(':daily-notification-plugin').projectDir = pluginPath
|
|
} else {
|
|
throw new GradleException("Plugin not found at ${pluginPath.absolutePath}. Please ensure the plugin is at the correct location.")
|
|
}
|
|
|