You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Shazron Abdullah (JIRA)" <ji...@apache.org> on 2013/06/28 02:54:20 UTC

[jira] [Created] (CB-4036) tag should have a "version" attribute

Shazron Abdullah created CB-4036:
------------------------------------

             Summary: <platform> tag should have a "version" attribute 
                 Key: CB-4036
                 URL: https://issues.apache.org/jira/browse/CB-4036
             Project: Apache Cordova
          Issue Type: Improvement
            Reporter: Shazron Abdullah


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: http://www.atlassian.com/software/jira