[ https://issues.apache.org/jira/browse/CB-10364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15124632#comment-15124632 ]
ASF GitHub Bot commented on CB-10364: ------------------------------------- Github user riknoll commented on a diff in the pull request: https://github.com/apache/cordova-docs/pull/474#discussion_r51338219 --- Diff: www/docs/en/dev/plugin_ref/spec.md --- @@ -17,700 +17,489 @@ license: > specific language governing permissions and limitations under the License. -title: Plugin Specification +title: Plugin.xml --- -# 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.xml - <?xml version="1.0" encoding="UTF-8"?> - <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" - xmlns:android="http://schemas.android.com/apk/res/android" - id="com.alunny.foo" - version="1.0.2"> +Plugin.xml file defines the structure and settings required for your plugin. It has several elements to provide details about your plugin. -## _plugin_ Element +## plugin -The `plugin` element is the plugin manifest's top-level element. It -features the following attributes: + The `plugin` element is the plugin manifest's top-level element. -* `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. + Attributes(type) | Description + ---------------- | ------------ + xmlns(string) | *Required* <br/> 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 <plugin> element. + id(string) | *Required* <br/> A reverse-domain style identifier for the plugin. + version(string) | *Required* <br/> A version number for the plugin, that matches the following major-minor-patch style regular expression: `^\d+[.]\d+[.]\d+$` -* `id` (required): - A reverse-domain style identifier for the plugin, such as - `com.alunny.foo` + Example: + ``` + <?xml version="1.0" encoding="UTF-8"?> + <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" + xmlns:android="http://schemas.android.com/apk/res/android" + id="com.alunny.foo" + version="1.0.2"> + ``` -* `version` (required): - A version number for the plugin, that matches the following - major-minor-patch style regular expression: +### engines and engine - ^\d+[.]\d+[.]\d+$ + The child elements of the `<engines>` element specify versions of Apache Cordova-based frameworks that this plugin supports. Plugman aborts with a non-zero code for any plugin whose target project does not meet the engine's constraints. If no <engine> tags are specified, plugman attempts to install into the specified cordova project directory blindly. -## _engines_ and _engine_ Elements + Attributes(type) | Description + ---------------- | ------------ + name(string) | *Required* <br/> Name of the engine. Here are the default engines that are supported : <ul><li> `cordova` </li> <li> `cordova-plugman` </li> <li> `cordova-android` </li> <li> `cordova-ios` </li> <li> `cordova-blackberry10` </li> <li> `cordova-wp8` </li> <li> `cordova-windows` </li> <li> `android-sdk` // returns the highest Android api level installed </li> <li> `apple-xcode` // returns the xcode version </li> <li> `apple-ios` // returns the highest iOS version installed </li> <li> `apple-osx` // returns the OSX version </li> <li> `blackberry-ndk` // returns the native blackberry SDK version </li> You can also specify a custom framework apart from the default ones. + version(string) | *Required* <br/> The version that your framework must have in order to install. It should match a major-minor-patch string conforming to the regular expression: `^\d+[.]\d+[.]\d+$` --- End diff -- I think we actually support semver ranges here. See https://github.com/apache/cordova-plugin-whitelist/blob/master/plugin.xml#L30 > Make Plugin Specification (plugin.xml) page a reference > ------------------------------------------------------- > > Key: CB-10364 > URL: https://issues.apache.org/jira/browse/CB-10364 > Project: Apache Cordova > Issue Type: Task > Components: Docs > Reporter: Raghav > Assignee: Raghav > Labels: Docs-6.x > > Plugin specification > (http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html) needs to be > modified as per the new reference structure. > General guidelines: > - While giving examples, keep them short. Do not repeat for all > plugins/platforms. > - Remove all references to cordova plugin registry. > - Remove Tizen references. The platform is deprecated > (http://markmail.org/message/hryg6sjswecpgndu) > - Keep information up to date for the platforms, CLI and plugins -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org