<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->

<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="com.adobe.vars"
    version="3.0.0">

    <name>Use Variables</name>

    <preference name="API_KEY" />

    <info>Remember that your api key is $API_KEY!</info>
    <!-- android -->
    <platform name="android">
		<config-file target="AndroidManifest.xml" parent="/manifest">
            <poop name="GoogleMapsApiKey" value="$API_KEY" />
            <package>$PACKAGE_NAME</package>
		</config-file>
		
    </platform>
    
    <!-- amazon fireos -->
    <platform name="amazon-fireos">
		<config-file target="AndroidManifest.xml" parent="/manifest">
            <poop name="GoogleMapsApiKey" value="$API_KEY" />
            <package>$PACKAGE_NAME</package>
		</config-file>
		
    </platform>

    <!-- ios -->
    <platform name="ios">
        <config-file target="config.xml" parent="/widget">
            <awesome value="$API_KEY" />
            <cfbundleid>$PACKAGE_NAME</cfbundleid>
        </config-file>
        <config-file target="*-Info.plist" parent="APluginNode">
            <string></string>
        </config-file>
    </platform>
</plugin>
