CB-10679: Adding blog post for plugin version selection docs This closes #559
Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/b2230079 Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/b2230079 Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/b2230079 Branch: refs/heads/master Commit: b2230079045a6dde3363b562de243ca202561c23 Parents: 3def9d4 Author: Richard Knoll <richard.b.kn...@gmail.com> Authored: Wed Mar 16 11:13:13 2016 -0700 Committer: Richard Knoll <richard.b.kn...@gmail.com> Committed: Tue Mar 22 13:43:54 2016 -0700 ---------------------------------------------------------------------- www/_posts/2016-03-22-new-plugin-fetching.md | 46 ++++++++++++++++++++++ www/docs/en/dev/guide/hybrid/plugins/index.md | 1 + 2 files changed, 47 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/b2230079/www/_posts/2016-03-22-new-plugin-fetching.md ---------------------------------------------------------------------- diff --git a/www/_posts/2016-03-22-new-plugin-fetching.md b/www/_posts/2016-03-22-new-plugin-fetching.md new file mode 100644 index 0000000..84dc0c7 --- /dev/null +++ b/www/_posts/2016-03-22-new-plugin-fetching.md @@ -0,0 +1,46 @@ +--- +layout: post +author: + name: Richard Knoll + url: https://github.com/riknoll +title: "Upcoming Changes to Plugin Fetching" +categories: announcements +tags: news +--- + +The Cordova 6.0.0 release introduced the pinning of core plugin +versions in cordova-lib. + +We are happy to announce that one of the new features in the upcoming +Cordova 6.1.0 release is a general API that allows any plugin to guide +the CLI in choosing a compatible plugin release to fetch for a given project. +This moves the plugin dependency information out of cordova-lib so that it +can update independently of the Cordova tools and support third-party plugins +outside of core. Our hope is that this feature will improve Cordova's plugin +ecosystem and reduce some of the frustration that Cordova developers face when +adding a new plugin to a project. + +<!--more--> + +The new API allows for plugin developers to give a mapping of plugin +releases to project requirements in their `package.json`. When an app developer +adds a plugin to their Cordova project, cordova-lib will examine their +installed plugins, platforms, and cordova-lib version and decide which +version of the plugin to fetch based on the provided mapping. +If the project does not fulfill the requirements for the latest release of the +plugin, the CLI will print warnings indicating the problems and fetch the +latest release of the plugin that is compatible. + +This API will eventually replace the [engines element](http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#engines-and-engine) in `plugin.xml`. +It extends that element's capabilities by allowing the CLI to intelligently +select a compatible plugin release rather than failing abruptly. Printed warnings +still clearly tell the app developer that the version they are using +is not latest and show what they must update to fulfill the latest release's +requirements. Implementing this API helps you prevent your plugin from causing +unexpected build errors when added to a project. + +See the [documentation](http://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html#specifying-cordova-dependencies) +for more information about how to use this API in your plugin. + +If you have feedback or questions about this feature, please leave +a comment on this post. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/b2230079/www/docs/en/dev/guide/hybrid/plugins/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/dev/guide/hybrid/plugins/index.md b/www/docs/en/dev/guide/hybrid/plugins/index.md index d8b2712..ec6191f 100644 --- a/www/docs/en/dev/guide/hybrid/plugins/index.md +++ b/www/docs/en/dev/guide/hybrid/plugins/index.md @@ -256,6 +256,7 @@ the local Cordova CLI version. If no releases of the plugin are compatible, the the user about the failed requirements and fall back to the old behavior of fetching the latest release. +This feature is intended to eventually replace the [engines element](../../../plugin_ref/spec.html#engines-and-engine) in plugin.xml. Listing dependencies is a good way to ensure that your plugin will not appear broken or cause build errors when fetched from npm. If the latest release of the plugin is not compatible with a project, the CLI will give the app developer a list of unmet project requirements so that --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org For additional commands, e-mail: commits-h...@cordova.apache.org