<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:rim="http://www.blackberry.com/ns/widgets"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="cordova-plugin-bugfender"
    version="2.1.0">
    <name>Bugfender</name>
    <description>Bugfender integration for Cordova apps</description>
    <license>See https://bugfender.com</license>
    <keywords>bugfender,cordova</keywords>

    <engines>
            <engine name="cordova" version=">=5.0.0" />
            <engine name="cordova-android" version=">=7.0.0" />
            <engine name="cordova-ios" version=">=5.1.0" />
    </engines>
    <dependency id="cordova-plugin-device" />

    <js-module src="www/bugfender.js" name="bugfender">
        <clobbers target="window.Bugfender" />
    </js-module>
    <js-module src="www/bf-util.js" name="bf-util">
    </js-module>

    <preference name="BUGFENDER_APP_KEY"/>
    <preference name="BUGFENDER_AUTOMATIC" default="ALL"/>
    <preference name="BUGFENDER_BASE_URL" default="unset"/>
    <preference name="BUGFENDER_API_URL" default="unset"/>
    <preference name="BUGFENDER_HIDE_DEVICE_NAME" default="unset"/>

    <platform name="browser">
        <info>cordova-plugin-bugfender ignores all method calls when being used in a browser</info>
    </platform>

    <platform name="android">
        <config-file target="res/values/strings.xml" parent="/*">
            <string name="BUGFENDER_APP_KEY">$BUGFENDER_APP_KEY</string>
            <string name="BUGFENDER_AUTOMATIC">$BUGFENDER_AUTOMATIC</string>
            <string name="BUGFENDER_BASE_URL">$BUGFENDER_BASE_URL</string>
            <string name="BUGFENDER_API_URL">$BUGFENDER_API_URL</string>
            <string name="BUGFENDER_HIDE_DEVICE_NAME">$BUGFENDER_HIDE_DEVICE_NAME</string>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
            <uses-permission android:name="android.permission.INTERNET" />
        </config-file>

        <source-file src="platforms/android/com/bugfender/sdk/cordova/BugfenderPlugin.java" target-dir="src/com/bugfender/sdk/cordova" /> 

        <framework src="platforms/android/bugfender.gradle" custom="true" type="gradleReference"/>

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="Bugfender">
                <param name="android-package" value="com.bugfender.sdk.cordova.BugfenderPlugin" />
                <param name="onload" value="true" />
            </feature>
        </config-file>
    </platform>

    <platform name="ios">
        <config-file target="*-Info.plist" parent="BUGFENDER_APP_KEY">
            <string>$BUGFENDER_APP_KEY</string>
        </config-file>

        <config-file target="*-Info.plist" parent="BUGFENDER_AUTOMATIC">
            <string>$BUGFENDER_AUTOMATIC</string>
        </config-file>

        <config-file target="*-Info.plist" parent="BUGFENDER_BASE_URL">
            <string>$BUGFENDER_BASE_URL</string>
        </config-file>

        <config-file target="*-Info.plist" parent="BUGFENDER_API_URL">
            <string>$BUGFENDER_API_URL</string>
        </config-file>

        <config-file target="*-Info.plist" parent="BUGFENDER_HIDE_DEVICE_NAME">
            <string>$BUGFENDER_HIDE_DEVICE_NAME</string>
        </config-file>

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

        <header-file src="platforms/ios/BFCDVSDKBugfender.h" />
        <source-file src="platforms/ios/BFCDVSDKBugfender.m" />

        <podspec>
          <config>
            <source url="https://cdn.cocoapods.org/"/>
          </config>
          <pods use-frameworks="true">
                <pod name="BugfenderSDK" spec="~> 2.0" />
            </pods>
        </podspec>
        <hook type="before_plugin_install" src="scripts/check_ios_target.js"/>
    </platform>

</plugin>
