cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Clelland (JIRA)" <>
Subject [jira] [Commented] (CB-4036) <platform> tag should have a "version" attribute
Date Wed, 14 Aug 2013 15:39:47 GMT


Ian Clelland commented on CB-4036:

I've added a page on the wiki, at,
with what I believe the scripts should be reporting. I've changed Android to follow this,
and I'm going to update iOS as well. Hopefully others can take care of the other platforms.

If plugman supports semver, then we can use the fact that 3.0.9 < 3.1.0-dev < 3.1.0-rc1
< 3.1.0. If changes to a plugin correspond to in-progress work on master, then set the
plugin to require 3.1.0-dev, and it will work the master branch, and continue to work when
3.1 is branched and released. A plugin which requires 3.2.0 shouldn't install on 3.1.0-dev,
though -- even though it contains 'dev' in the version string.
> <platform> tag should have a "version" attribute 
> -------------------------------------------------
>                 Key: CB-4036
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugman
>            Reporter: Shazron Abdullah
>            Assignee: Filip Maj
> This might be hole that we didn't consider.
> I know implicitly if the plugin supported an "engine" version we support what the engine
supports, but here could be one scenario.
> For example, with iOS 7, a plugin CDVFooBar use this awesome NSWhizBang framework. Fine,
with iOS 7, you have to of course build with the iOS 7 SDK, and you can support iOS 6 with
a Deploy Target build setting.
> It runs on iOS 7 - yay.
> It.. blows up on iOS 6 at runtime, because of course NSWhizBang framework does not exist
on iOS 6.
> Now you say, why don't you do Obj-C runtime checks and weak link the framework? Yes,
the plugin author can do that but a plugin user, by parsing the plugin xml (using a tool,
or optically, whatever) cannot know that the plugin does NOT work on iOS 6 - and even though
it "runs" on iOS 6, it does nothing, which is useless and wastes a lot of time.
> So - my proposal is, to add a *"version"* attribute on the *<platform>* tag. It
should follow the syntax for the <engine> version attribute. 
> What would be the default if the version attribute is not there? Not sure what a reasonable
default is yet.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message