+1

However, I think we may need a better property/value pair name than
just cordova_version:
plugin_versions. This is because I feel like there is a implicit idea that
this particular plugin will work on a specific version of Cordova, but for
all platforms. Whereas in reality, most of the plugins out there are just
for iOS and Android. So maybe if the mapping was more like:

{
  cordova_version: {
                              android: android_plugin_version,
                              blackberry: blackberry_plugin_version,
                              ios: ios_plugin_version
                            }
}

I think this also takes care of if a plugin adds in another platform but in
a later version.


On 19 March 2013 07:59, Anis KADRI <anis.ka...@gmail.com> wrote:

> Hey all,
>
> Plugins need to be versioned to be backward compatible with previous
> versions of Cordova. I had a discussion with the PhoneGap:Build team
> yesterday and they need to be backward compatible. Ally Ogilvie also
> mentioned in separate thread that game developers would also need something
> like this.
>
> We have already broken the plugin interface a number of times and we know
> that a plugin implementation won't work across all versions of Cordova.
> The plugin spec already supports an <engine> tag to specify which versions
> of cordova it supports. However, It's expensive to clone down the
> repository just to check if the plugin works or not.
>
> I believe we should store some sort of mapping on our discovery server.
> Such as:
>
> {
>   cordova_version: plugin_versions
> }
>
> That way when plugman tries to install a plugin it knows ahead of time
> (before cloning the repository) if there is a version of the plugin that
> works with the user's version of cordova.
>
> This will probably be less needed after 3.0 when the plugin interface is
> stable enough.
>
> Thoughts ?
>
> -a
>



-- 
Timothy Kim

Reply via email to