<?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"
    id="org.cordova.mobile-spec-dependencies"
    version="1.0.0">
  <engines>
    <engine name="cordova" version=">=2.7" />
  </engines>

  <name>Mobile-Spec plugin to quickly pull in all cordova plugins</name>

  <dependency id="org.apache.cordova.battery-status" url="." subdir="../cordova-plugin-battery-status" />
  <dependency id="org.apache.cordova.camera" url="." subdir="../cordova-plugin-camera" />
  <dependency id="org.apache.cordova.console" url="." subdir="../cordova-plugin-console" />
  <dependency id="org.apache.cordova.contacts" url="." subdir="../cordova-plugin-contacts" />
  <dependency id="org.apache.cordova.device" url="." subdir="../cordova-plugin-device" />
  <dependency id="org.apache.cordova.device-motion" url="." subdir="../cordova-plugin-device-motion" />
  <dependency id="org.apache.cordova.device-orientation" url="." subdir="../cordova-plugin-device-orientation" />
  <dependency id="org.apache.cordova.dialogs" url="." subdir="../cordova-plugin-dialogs" />
  <dependency id="org.apache.cordova.file" url="." subdir="../cordova-plugin-file" />
  <dependency id="org.apache.cordova.file-transfer" url="." subdir="../cordova-plugin-file-transfer" />
  <dependency id="org.apache.cordova.geolocation" url="." subdir="../cordova-plugin-geolocation" />
  <dependency id="org.apache.cordova.globalization" url="." subdir="../cordova-plugin-globalization" />
  <dependency id="org.apache.cordova.inappbrowser" url="." subdir="../cordova-plugin-inappbrowser" />
  <dependency id="org.apache.cordova.media" url="." subdir="../cordova-plugin-media" />
  <dependency id="org.apache.cordova.media-capture" url="." subdir="../cordova-plugin-media-capture" />
  <dependency id="org.apache.cordova.network-information" url="." subdir="../cordova-plugin-network-information" />
  <dependency id="org.apache.cordova.splashscreen" url="." subdir="../cordova-plugin-splashscreen" />
  <dependency id="org.apache.cordova.vibration" url="." subdir="../cordova-plugin-vibration" />
  <dependency id="org.apache.cordova.test.whitelist" url="." subdir="cordova-plugin-whitelist" />
  <dependency id="org.apache.cordova.test.echo" url="." subdir="cordova-plugin-echo" />
</plugin>
