Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5A4361870B for ; Thu, 19 Nov 2015 05:27:00 +0000 (UTC) Received: (qmail 43053 invoked by uid 500); 19 Nov 2015 05:27:00 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 42995 invoked by uid 500); 19 Nov 2015 05:27:00 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 41629 invoked by uid 99); 19 Nov 2015 05:26:59 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Nov 2015 05:26:59 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E37A6E1785; Thu, 19 Nov 2015 05:26:58 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: dblotsky@apache.org To: commits@cordova.apache.org Date: Thu, 19 Nov 2015 05:27:20 -0000 Message-Id: <9ce69f51d54b48b8820413ffb9448384@git.apache.org> In-Reply-To: <40e6990ff6234e50b63902481203e324@git.apache.org> References: <40e6990ff6234e50b63902481203e324@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [23/51] [partial] docs commit: CB-10029: rename edge to dev. This closes #426. http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/guide/support/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/guide/support/index.md b/www/docs/en/dev/guide/support/index.md new file mode 100644 index 0000000..14292e1 --- /dev/null +++ b/www/docs/en/dev/guide/support/index.md @@ -0,0 +1,335 @@ +--- +license: > + 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. + +title: Platform Support +--- + +# Platform Support + +The following shows the set of development tools and device APIs +available for each mobile platform. The device APIs listed here are provided by +the core plugins, additional APIs are available via +[third-party plugins](http://plugins.cordova.io). Column headers display the +CLI's shorthand names. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ amazon-fireosandroidblackberry10Firefox OSiosUbuntuwp8
(Windows Phone 8)
windows
(8.0, 8.1, 10,
Phone 8.1)
cordova
CLI
Mac, Windows, LinuxMac, Windows, LinuxMac, WindowsMac, Windows, LinuxMacUbuntuWindows
Embedded
WebView
(see details)(see details)(see details)
Plug-in
Interface
(see details)(see details)(see details)(see details)(see details)
Platform APIs
Accelerometer
BatteryStatus* Windows Phone 8.1 only
Camera
Capture
Compass(3GS+)
Connection
Contactspartially
Device
Events
File
File Transfer* Do not support onprogress nor abort* Do not support onprogress nor abort* Do not support onprogress nor abort
Geolocation
Globalization
InAppBrowseruses iframe
Media
Notification
Splashscreen
Status BarWindows Phone 8.1 only
StoragelocalStorage & indexedDBlocalStorage & indexedDB
Vibration* Windows Phone 8.1 only
+ + http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/index.md b/www/docs/en/dev/index.md new file mode 100644 index 0000000..aa15fa2 --- /dev/null +++ b/www/docs/en/dev/index.md @@ -0,0 +1,105 @@ +--- +license: > + 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. + +title: Guides +--- + +
+ +

Guides

+ + +

API Reference

+
    +
  • +

    Events

    + Hook into native events through JavaScript. +
  • +
  • +

    Plugin APIs

    + Discover what Cordova plugins are available to use in your project. +
  • +
+ +
http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/page_index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/page_index.md b/www/docs/en/dev/page_index.md new file mode 100644 index 0000000..24ec817 --- /dev/null +++ b/www/docs/en/dev/page_index.md @@ -0,0 +1,4 @@ +--- +title: Keyword Index +--- +{% include docs_index.html %} http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/platform_plugin_versioning_ref/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/platform_plugin_versioning_ref/index.md b/www/docs/en/dev/platform_plugin_versioning_ref/index.md new file mode 100644 index 0000000..3e2c6f6 --- /dev/null +++ b/www/docs/en/dev/platform_plugin_versioning_ref/index.md @@ -0,0 +1,160 @@ +--- +license: > + 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. + +title: Platforms and Plugins Version Management +--- + +# Platforms and Plugins Version Management +From version 4.3.0 onwards, Cordova provides the ability to save and restore platforms and plugins. + +This feature allows developers to save and restore their app to a known state without having to check in all of the platform and plugin source code. + +The 'save' command stores details about the app's platform and plugin versions in config.xml. +The 'restore' step happens automatically when a **'cordova prepare'** is issued, making use of information previously saved in the config.xml file. + +One scenario where save/restore capabilities come in handy is in large teams that work on an app, with each team member focusing on a platform or plugin. This feature makes it easier to share the project and reduce the amount of redundant code that is checked in the repository. + + +## Platform Versioning + +### Saving platforms +To save a platform, you issue the following command : + + $ cordova platform add ] | directory | git_url> --save + +After running the above command, the resulting config.xml looks like : + + + ... + + ... + + + +Some examples : + + * **'cordova platform add android --save'** => retrieves the pinned version of the android platform, adds it to the project and then updates config.xml. + * **'cordova platform add android@3.7.0 --save'** => retrieves the android platform, version 3.7.0 from npm, adds it to the project and then updates config.xml. + * **'cordova platform add android@https://github.com/apache/cordova-android.git​ --save'** => clones the specified cordova-android git repository, adds the android platform to the project, then updates config.xml and point its version to the specified git-url. + * **'cordova platform add C:/path/to/android/platform --save'** => retrieves the android platform from the specified directory, adds it to the project, then updates config.xml and point to the directory. + +### Mass saving platforms on an existing project +The '--save' flag described above is only useful when you remember to use it during the platform addition. +If you have a pre-existing project and you want to save all the currently added platforms in your project, you can use : + + $ cordova platform save + + +### Updating / Removing platforms +It is also possible to update/delete from config.xml during the commands 'cordova platform update' and 'cordova platform remove' : + + $ cordova platform update ] | directory | git_url> --save + $ cordova platform remove --save +Some examples : + + * **'cordova platform update android --save'** => In addition to updating the android platform to the pinned version, update config.xml entry + * **'cordova platform update android@3.8.0 --save'** => In addition to updating the android platform to version 3.8.0, update config.xml entry + * **'cordova platform update /path/to/android/platform --save'** => In addition to updating the android platform to version in the folder, update config.xml entry + * **'cordova platform remove android --save'** => Removes the android platform from the project and deletes its entry from config.xml. + + +### Restoring platforms + +Platforms are automatically restored from config.xml when the **'cordova prepare'** command is run. + +If you add a platform without specifying a version/folder/git_url, the version to install is taken from config.xml, **if found**. + +Example: + +Suppose your config.xml file contains the following entry: + + + ... + + ... + + +If you run the command **'cordova platform add android'** (no version/folder/git_url specified), the platform 'android@3.7.0' (as retrieved from config.xml) will be installed. + + + +--- + +## Plugin Versioning +_(The plugin commands are a mirror of the platform commands)_ + +### Saving plugins +To save a plugin, you issue the following command : + + $ cordova plugin add ] | directory | git_url> --save + +After running the above command, the resulting config.xml looks like : + + + ... + + ... + + + +Some examples : + + * **'cordova plugin add cordova-plugin-console --save'** => retrieves the pinned version of the console plugin, adds it to the project and then updates config.xml. + * **'cordova plugin add cordova-plugin-console@0.2.13 --save'** => retrieves the android plugin, version 0.2.13 from npm, adds it to the project and then updates config.xml. + * **'cordova plugin add https://github.com/apache/cordova-plugin-console.git --save'** => clones the specified console plugin git repository, adds the console plugin to the project, then updates config.xml and point its version to the specified git-url. + * **'cordova plugin add C:/path/to/console/plugin --save'** => retrieves the console plugin from the specified directory, adds it to the project, then updates config.xml and point to the directory. + +### Mass saving plugins on an existing project +The '--save' flag described above is only useful when you remember to use it during the plugin addition. +If you have a pre-existing project and you want to save all currently added plugins in the project, you can use : + + $ cordova plugin save + + +### Updating / Removing plugins +It is also possible to update/delete from config.xml during the commands 'cordova plugin update' and 'cordova plugin remove' : + + $ cordova plugin update ] | directory | git_url> --save + $ cordova plugin remove --save +Some examples : + + * **'cordova plugin update cordova-plugin-console --save'** => In addition to updating the console plugin to the pinned version, update config.xml entry + * **'cordova plugin update cordova-plugin-console@0.2.13 --save'** => In addition to updating the android plugin to version 3.8.0, update config.xml entry + * **'cordova plugin update /path/to/console/plugin --save'** => In addition to updating the console plugin to version in the folder, update config.xml entry + * **'cordova plugin remove cordova-plugin-console --save'** => Removes the console plugin from the project and deletes its entry from config.xml. + + +### Restoring plugins + +Plugins are automatically restored from config.xml when the **'cordova prepare'** command is run. + +If you add a plugin without specifying a version/folder/git_url, the version to be installed is taken from config.xml, **if found**. + +Example: + +Suppose your config.xml file contains the following entry: + + + ... + + ... + + +If you run the command **'cordova plugin add cordova-plugin-console'** (no version/folder/git_url specified), the plugin 'cordova-plugin-console@0.2.11' (as retrieved from config.xml) will be installed. + http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/plugin_ref/plugman.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/plugin_ref/plugman.md b/www/docs/en/dev/plugin_ref/plugman.md new file mode 100644 index 0000000..eb1f856 --- /dev/null +++ b/www/docs/en/dev/plugin_ref/plugman.md @@ -0,0 +1,223 @@ +--- +license: > + 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. + +title: Using Plugman to Manage Plugins +--- + +# Using Plugman to Manage Plugins + +From version 3.0 onward, Cordova implements all device APIs as +plugins, and leaves them disabled by default. It also supports two +different ways to add and remove plugins, depending on your choice of +workflow discussed in the [Overview](../guide/overview/index.html): + +- If you use a cross-platform workflow, you use the `cordova` CLI + utility to add plugins, as described in [The Command-Line Interface](../guide/cli/index.html). + The CLI modifies plugins for all specified platforms at once. + +- If you use a platform-centered workflow, you use a lower-level + [Plugman](https://github.com/apache/cordova-plugman/) command-line + interface, separately for each targeted platform. + +This section details the Plugman utility. For more information on +consuming Plugman as a node module or modifying the source code, see +[the README file in its repository](https://github.com/apache/cordova-plugman/blob/master/README.md). + +## Installing Plugman + +To install plugman, you must have [node](http://nodejs.org/) installed +on your machine. Then you can run the following command from anywhere +in your environment to install plugman globally, so that it is +available from any directory: + + $ npm install -g plugman + +You must have also have `git` on your `PATH` to be able to install plugins directly from remote git URLs. + +__TIP__: If you find that after installing plugman with `npm` you are +still unable to run any `plugman` commands, make sure that you have +added the `/npm/` directory into your `PATH`. + +__NOTE__: You can skip this step if you don't want to pollute your +global `npm` namespace by installing Plugman globally. If this is the +case, then when you create a Cordova project with the shell tools, +there will be a `node_modules` directory inside your project which +contains Plugman. Since you did not install globally, you need to +invoke `node` for each Plugman command, for example `node +./node_modules/plugman/main.js -version`. The rest of this guide +assumes you have installed Plugman globally, meaning you can invoke it +with just `plugman`. + +## Create a Cordova Project + +Before you can use Plugman, you must create a Cordova project. You can do this with either the Command-line Interface or with +the lower level shell scripts. Instructions for using the shell scripts to create your project are located in the various "Command-line Tools" guides +listed on the [Platform Guides](../guide/platforms/index.html) page. + +## Adding a Plugin + +Once you have installed Plugman and have created a Cordova project, you can start adding plugins to the platform with: + + $ plugman --platform --project --plugin [--plugins_dir ] [--www ] [--variable = [--variable = ...]] + +Using minimum parameters, this command installs a plugin into a cordova project. You must specify a platform and cordova project location for that platform. You also must specify a plugin, with the different `--plugin` parameter forms being: + + * `name`: The directory name where the plugin contents exist. This must be an existing directory under the `--plugins_dir` path (see below for more info) or a plugin in the Cordova registry. + * `url`: A URL starting with https:// or git://, pointing to a valid git repository that is clonable and contains a `plugin.xml` file. The contents of this repository would be copied into the `--plugins_dir`. + * `path`: A path to a directory containing a valid plugin which includes a `plugin.xml` file. This path's contents will be copied into the `--plugins_dir`. + +Other parameters: + +* `--plugins_dir` defaults to `/cordova/plugins`, but can be any directory containing a subdirectory for each fetched plugin. +* `--www` defaults to the project's `www` folder location, but can be any directory that is to be used as cordova project application web assets. +* `--variable` allows to specify certain variables at install time, necessary for certain plugins requiring API keys or other custom, user-defined parameters. Please see the [plugin specification](plugin_ref_spec.md.html#Plugin%20Specification) for more information. + +## Remove a Plugin + +To uninstall a plugin, you simply pass the `--uninstall` flag and provide the plugin ID. + + $ plugman --uninstall --platform --project --plugin [--www ] [--plugins_dir ] + + +## Help Commands + +Plugman features a global help command which may help you if you get stuck or are experiencing problems. It will display +a list of all available Plugman commands and their syntax: + + plugman -help + plugman # same as above + + **NOTE**: `plugman -help` may show some additional registry-related commands. These commands are for plugin developers and may not be implemented on third-party plugin registries. + + +You can also append the `--debug|-d` flag to any Plugman command to run that command in verbose mode, which will display +any internal debugging messages as they are emitted and may help you track down problems like missing files. + + # Adding Android battery-status plugin to "myProject": + plugman -d --platform android --project myProject --plugin cordova-plugin-battery-status + +Finally, you can use the `--version|-v` flag to see which version of Plugman you are using. + + plugman -v + +## Registry Actions + +There are a number of plugman commands that can be used for interacting with the [Plugin registry](http://plugins.cordova.io). +Please note that these registry commands are specific to the _plugins.cordova.io_ plugin registry and may not be implemented by +third-party plugin registries. + +### Searching for a Plugin + +You can use Plugman to search the [Plugin registry](http://plugins.cordova.io) for plugin id's that match the given space separated list of keywords. + + plugman search + +### Changing the Plugin Registry + +You can get or set the URL of the current plugin registry that plugman is using. Generally you should leave this set at http://registry.cordova.io unless you want to use a third party plugin registry. + + plugman config set registry + plugman config get registry + +### Get Plugin Information + +You can get information about any specific plugin stored in the plugin repository with: + + plugman info + +This will contact the plugin registry and fetch information such as the plugin's version number. + +## Installing Core Plugins + +The examples below show how to add plugins as needed so that any +Cordova APIs you use in your project still work after you upgrade to +version 3.0. For each command, you need to select the target +platform, and reference the platform's project directory. + +* cordova-plugin-battery-status + + `plugman --platform --project --plugin cordova-plugin-battery-status` + +* cordova-plugin-camera + + `plugman --platform --project --plugin cordova-plugin-camera` + +* cordova-plugin-console + + `plugman --platform --project --plugin cordova-plugin-console` + +* cordova-plugin-contacts + + `plugman --platform --project --plugin cordova-plugin-contacts` + +* cordova-plugin-device + + `plugman --platform --project --plugin cordova-plugin-device` + +* cordova-plugin-device-motion (accelerometer) + + `plugman --platform --project --plugin cordova-plugin-device-motion` + +* cordova-plugin-device-orientation (compass) + + `plugman --platform --project --plugin cordova-plugin-device-orientation` + +* cordova-plugin-dialogs + + `plugman --platform --project --plugin cordova-plugin-dialogs` + +* cordova-plugin-file + + `plugman --platform --project --plugin cordova-plugin-file` + +* cordova-plugin-file-transfer + + `plugman --platform --project --plugin cordova-plugin-file-transfer` + +* cordova-plugin-geolocation + + `plugman --platform --project --plugin cordova-plugin-geolocation` + +* cordova-plugin-globalization + + `plugman --platform --project --plugin cordova-plugin-globalization` + +* cordova-plugin-inappbrowser + + `plugman --platform --project --plugin cordova-plugin-inappbrowser` + +* cordova-plugin-media + + `plugman --platform --project --plugin cordova-plugin-media` + +* cordova-plugin-media-capture + + `plugman --platform --project --plugin cordova-plugin-media-capture` + +* cordova-plugin-network-information + + `plugman --platform --project --plugin cordova-plugin-network-information` + +* cordova-plugin-splashscreen + + `plugman --platform --project --plugin cordova-plugin-splashscreen` + +* cordova-plugin-vibration + + `plugman --platform --project --plugin cordova-plugin-vibration` http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/en/dev/plugin_ref/spec.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/plugin_ref/spec.md b/www/docs/en/dev/plugin_ref/spec.md new file mode 100644 index 0000000..ce86297 --- /dev/null +++ b/www/docs/en/dev/plugin_ref/spec.md @@ -0,0 +1,716 @@ +--- +license: > + 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. + +title: Plugin Specification +--- + +# Plugin Specification + +The `plugin.xml` file is an XML document in the `plugins` namespace: +`http://apache.org/cordova/ns/plugins/1.0`. It contains a top-level +`plugin` element that defines the plugin, and children that define the +structure of the plugin. + +A sample plugin element: + + + + +## _plugin_ Element + +The `plugin` element is the plugin manifest's top-level element. It +features the following attributes: + +* `xmlns` (required): + The plugin namespace, `http://apache.org/cordova/ns/plugins/1.0`. If + the document contains XML from other namespaces, such as tags to be + added to the `AndroidManifest.xml` file, those namespaces should + also be included in the top-level element. + +* `id` (required): + A reverse-domain style identifier for the plugin, such as + `com.alunny.foo` + +* `version` (required): + A version number for the plugin, that matches the following + major-minor-patch style regular expression: + + ^\d+[.]\d+[.]\d+$ + +## _engines_ and _engine_ Elements + +The child elements of the `` element specify versions of +Apache Cordova-based frameworks that this plugin supports. An example: + + + + + + + +Similar to the `` element's `version` attribute, the specified +version string should match a major-minor-patch string conforming to +the regular expression: + + ^\d+[.]\d+[.]\d+$ + +Engine elements may also specify fuzzy matches to avoid repetition, +and to reduce maintenance when the underlying platform is updated. +Tools should support a minimum of `>`, `>=`, `<` and `<=`, for +example: + + + + + + +The `` tags also has default support for all of the main platforms Cordova exists on. +Specifying the `cordova` engine tag means that all versions of Cordova on any platform must +satisfy the engine version attribute. You may also list specific platforms and their versions +in order to override the catch-all `cordova` engine: + + + + + + + +Here's a list of the default engines that the `` tag supports: + +* `cordova` +* `cordova-plugman` +* `cordova-amazon-fireos` +* `cordova-android` +* `cordova-ios` +* `cordova-blackberry10` +* `cordova-wp8` +* `cordova-windows8` +* `android-sdk` // returns the highest Android api level installed +* `apple-xcode` // returns the xcode version +* `apple-ios` // returns the highest iOS version installed +* `apple-osx` // returns the OSX version +* `blackberry-ndk` // returns the native blackberry SDK version + +Specifying custom Apache Cordova-based frameworks should be listed under the engine tag like so: + + + + + + + +A custom Apache Cordova-based framework requires that an engine element includes the following attributes: +`name`, `version`, `scriptSrc`, and `platform`. + +* `name` (required): A human-readable name for your custom framework. + +* `version` (required): The version that your framework must have in order to install. + +* `scriptSrc` (required): The script file that tells plugman what version of the custom framework is. +Ideally, this file should be within the top level directory of your plugin directory. + +* `platform` (required): Which platforms that your framework supports. You may use the wildcard `*` +to say supported for all platforms, specify multiple with a pipe character like `android|ios|blackberry10` +or just a single platform like `android`. + +plugman aborts with a non-zero code for any plugin whose target +project does not meet the engine's constraints. + +If no `` tags are specified, plugman attempts to install into +the specified cordova project directory blindly. + +## _name_ Element + +A human-readable name for the plugin, whose text content contains the +name of the plugin. For example: + + Foo + +This element does not (yet) handle localization. + +## _description_ Element + +A human-readable description for the plugin. The text content of the element contains +the description of the plugin. An example: + + Foo plugin description + +This element does not (yet) handle localization. + +## _author_ Element + +Plugin author name. The text content of the element contains +the name of the plugin author. An example: + + Foo plugin description + +## _keywords_ Element + +Plugin keywords. The text content of the element contains comma separated keywords to describe the plugin. An example: + + foo,bar + +## _license_ Element + +Plugin license. The text content of the element contains the plugin license. An example: + + Apache 2.0 License + +## _asset_ Element + +One or more elements listing the files or directories to be copied +into a Cordova app's `www` directory. Examples: + + + + + + +All `` tags require both `src` and `target` attributes. +Web-only plugins contains mostly `` elements. Any `` +elements that are nested within `` elements specify +platform-specific web assets, as described below. Attributes include: + +* `src` (required): + Where the file or directory is located in the plugin package, + relative to the `plugin.xml` document. If a file does not exist at + the specified `src` location, plugman stops and reverses the + installation process, issues a notification about the conflict, and + exits with a non-zero code. + +* `target` (required): + + Where the file or directory should be located in the Cordova app, + relative to the `www` directory. + Assets can be targeted to subdirectories, for example: + + + + creates the `js/experimental` directory within the `www` directory, + unless already present, then copies the `new-foo.js` file and + renames it `foo.js`. If a file already exists at the target + location, plugman stops and reverses the installation process, + issues a notification about the conflict, and exits with a non-zero + code. + +## _js-module_ Element + +Most plugins include one or more JavaScript files. Each `` +tag corresponds to a JavaScript file, and prevents the plugin's users +from having to add a `