refactor(android)!: restructure to standard Capacitor plugin layout
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.
This commit is contained in:
27
test-apps/android-test-app/settings.gradle
Normal file
27
test-apps/android-test-app/settings.gradle
Normal file
@@ -0,0 +1,27 @@
|
||||
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.")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user