<?xml version='1.0' encoding='utf-8'?>
<plugin id="cordova-plugin-agc-clouddb" version="1.3.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>AGC CloudDB</name>
    <js-module name="AGCCloudDBPlugin" src="www/AGCCloudDBPlugin.js">
        <clobbers target="AGCCloudDBPlugin"/>
    </js-module>
    <js-module name="AGCCloudDBQuery" src="www/AGCCloudDBQuery.js"/>
    <js-module name="AGCCloudDBTransaction" src="www/AGCCloudDBTransaction.js"/>
    <js-module name="AGCCloudDBZone" src="www/AGCCloudDBZone.js"/>
    <js-module name="enums" src="www/enums.js"/>
    <js-module name="interfaces" src="www/interfaces.js"/>
    <js-module name="utils" src="www/utils.js"/>

    <platform name="android">
        <hook type="after_plugin_install" src="hooks/after_plugin_install.js" />
        <hook type="before_plugin_uninstall" src="hooks/before_plugin_uninstall.js" />

        <framework src="src/android/build-extras.gradle" custom="true" type="gradleReference"/>
        
        <config-file parent="/*" target="res/xml/config.xml">
            <feature name="AGCCloudDBPlugin">
                <param name="android-package" value="com.huawei.agc.cordova.clouddb.AGCCloudDB"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <config-file parent="/*" target="AndroidManifest.xml"/>
        <!-- uses-permissions -->
        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
            <uses-permission android:name="android.permission.READ_PHONE_STATE" />
            <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
        </config-file>
        <!-- dependencies -->
        <framework src="com.huawei.agconnect:agconnect-cloud-database:1.4.8.300"/>
        <!-- dependencies -->
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CordovaController.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CordovaEventRunner.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file
                src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CordovaModuleGroupHandler.java"
                target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CordovaModuleHandler.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CorError.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CorException.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CorLog.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/CorPack.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/handler/Promise.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/handler/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/CordovaBaseModule.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/CordovaEvent.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/CordovaMethod.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/basef/CordovaRule.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/basef/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/utils/CloudDBUtils.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/utils/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/utils/CordovaCloudDBQuery.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/utils/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/AGCCloudDB.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/AGCCloudDBService.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/CordovaAGCCloudDB.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/CloudDBZoneService.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/"/>
        <source-file src="src/android/src/main/java/com/huawei/agc/cordova/clouddb/CordovaCloudDBZone.java"
                     target-dir="src/com/huawei/agc/cordova/clouddb/"/>

    </platform>

    <platform name="ios">
        <config-file parent="/*" target="config.xml">
            <feature name="AGCCloudDBPlugin">
                <param name="ios-package" value="AGCCloudDBPlugin" />
                <param name="onload" value="true" />
            </feature>
        </config-file>

        <source-file src="src/ios/AGCCloudDBPlugin.swift" />
        <source-file src="src/ios/AGCCloudDBViewModel.swift" />
        <source-file src="src/ios/AGCCloudDBLogger.swift" />
        <source-file src="src/ios/ConcurrentHashMap.swift" />
        <source-file src="src/ios/AppDelegate+AGCCloudDBPlugin.m" />
        <header-file src="src/ios/AppDelegate+AGCCloudDBPlugin.h" />
        <source-file src="src/ios/AGCCloudDBObjC.m" />
        <header-file src="src/ios/AGCCloudDBObjC.h" />
        <header-file src="src/ios/AGCCloudDBPlugin-Bridging-Header.h" type="BridgingHeader" />

        <podspec>
            <config>
                <source url="https://cdn.cocoapods.org/" />
            </config>
            <pods use-frameworks="true">
                <pod name="AGConnectDatabase" spec="1.0.2.300" />
            </pods>
        </podspec>
    </platform>
</plugin>
