Re: I've fixed an issue. What's next?

2014-11-15 Thread Michal Mocny
 plugman info org.apache.cordova.inappbrowser

Returns a list of published plugin versions, a set of supported platforms,
and a set of engine requirements for the current version

 plugman info org.apache.cordova.inappbrowser@0.5.3

Returns info for a particular older version.

With these tools, we could change cordova-cli to first call info, and
iterate backwards through the published versions until a compatible plugin
is found.  I don't think we should auto-install older versions, but we
could say warning, the latest versions of plugin-FOO is not compatible
with platform-BAR, you can install plugin-FOO@x.y.z instead.


Josh is right, that we can get into hairy situations since we do not have
platform-specific plugin installs (there were proposals for this before).
I don't actually think it will come up often, so lets solve that issue when
we get there.  For now, would be nice to let shaz add the new engine
requirement to the plugin without breaking plugin install for everyone who
doesn't update cordova-ios first.

-Michal

On Fri, Nov 14, 2014 at 3:33 PM, Josh Soref jso...@blackberry.com wrote:

 Steven Gill wrote:
  Maybe we should have it auto grab an older version of the plugin that is
  supported? Or at least a better error message telling them to try older
  versions of the plugin with cordova plugin add
  org.apache.cordova.file@VERSION

 Ian Clelland wrote:
  I'd love to have the plugin registry automatically serve the
 
  most-recent-still-compatible version of a plugin. I don't know how that
  works when you install plugins *before* platforms, though.

 I think plugman or someone at a prepare stage when a platform installs
 could warn and try (network could be offline) to get a compatible version.

 Note that there's an interesting problem here:

 Suppose I have 1 plugin, and I install version 20 of it to my project.
 I then install platform A which is happy w/ version 20.
 I then install platform B which only works w/ version 19, so something
 automatically installs version 19 for this platform.

 If the API between the two versions isn't compatible (and we don't have an
 api validator to tell the developer if it is), then the resulting app
 won't work properly on that platform.




Re: I've fixed an issue. What's next?

2014-11-15 Thread julio cesar sanchez
I updated the pull request yesterday to add the iOS 8 macro code (and other
change proposed by Shazron), so it can work on Xcode 5


Re: I've fixed an issue. What's next?

2014-11-14 Thread Ian Clelland
Well, I think what you've just done (pinging the list) is pretty close to
the right next step.

You should probably assign the issue back to Shaz with a note directed to
him asking him to take a look and merge it in. (I'd merge it, but I haven't
been following iOS 8 development closely enough to judge its correctness)

And thanks for taking it on!

Ian

On Fri Nov 14 2014 at 2:32:14 AM julio cesar sanchez jcesarmob...@gmail.com
wrote:

 CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported and I
 asked if it could be assigned to me.
 Shazron assigned to me and I fixed it with this pull request
 https://github.com/apache/cordova-plugin-dialogs/pull/39

 It's been 3 weeks and it hasn't been merged, so I don't know if I have to
 do something else, it's the first issue assigned to me.



Re: I've fixed an issue. What's next?

2014-11-14 Thread Shazron
Thanks Julio!
I'll comment on the PR itself.

Shaz

On Fri, Nov 14, 2014 at 8:42 AM, Ian Clelland iclell...@chromium.org
wrote:

 Well, I think what you've just done (pinging the list) is pretty close to
 the right next step.

 You should probably assign the issue back to Shaz with a note directed to
 him asking him to take a look and merge it in. (I'd merge it, but I haven't
 been following iOS 8 development closely enough to judge its correctness)

 And thanks for taking it on!

 Ian


 On Fri Nov 14 2014 at 2:32:14 AM julio cesar sanchez 
 jcesarmob...@gmail.com wrote:

 CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported and
 I
 asked if it could be assigned to me.
 Shazron assigned to me and I fixed it with this pull request
 https://github.com/apache/cordova-plugin-dialogs/pull/39

 It's been 3 weeks and it hasn't been merged, so I don't know if I have to
 do something else, it's the first issue assigned to me.




Re: I've fixed an issue. What's next?

2014-11-14 Thread Shazron
General question to everybody:

The patch requires the iOS 8 SDK (i.e. Xcode 6). We require Xcode 6 in
cordova-ios 3.7.0 and there was consensus on it.
However, the plugin.xml itself does not have an engine tag to specify what
it supports.

Question:
  Do we have engine tag support in the CLI, where it won't install a plugin
if the requirements are not met?

If not, we would have to do a #ifdef __IPHONE_8_0 macro in the code.


On Fri, Nov 14, 2014 at 11:18 AM, Shazron shaz...@gmail.com wrote:

 Thanks Julio!
 I'll comment on the PR itself.

 Shaz

 On Fri, Nov 14, 2014 at 8:42 AM, Ian Clelland iclell...@chromium.org
 wrote:

 Well, I think what you've just done (pinging the list) is pretty close to
 the right next step.

 You should probably assign the issue back to Shaz with a note directed to
 him asking him to take a look and merge it in. (I'd merge it, but I haven't
 been following iOS 8 development closely enough to judge its correctness)

 And thanks for taking it on!

 Ian


 On Fri Nov 14 2014 at 2:32:14 AM julio cesar sanchez 
 jcesarmob...@gmail.com wrote:

 CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported
 and I
 asked if it could be assigned to me.
 Shazron assigned to me and I fixed it with this pull request
 https://github.com/apache/cordova-plugin-dialogs/pull/39

 It's been 3 weeks and it hasn't been merged, so I don't know if I have to
 do something else, it's the first issue assigned to me.





Re: I've fixed an issue. What's next?

2014-11-14 Thread Ian Clelland
On Fri Nov 14 2014 at 2:24:41 PM Shazron shaz...@gmail.com wrote:

 General question to everybody:

 The patch requires the iOS 8 SDK (i.e. Xcode 6). We require Xcode 6 in
 cordova-ios 3.7.0 and there was consensus on it.
 However, the plugin.xml itself does not have an engine tag to specify what
 it supports.

 Question:
   Do we have engine tag support in the CLI, where it won't install a
 plugin if the requirements are not met?


We certainly do, for Android at least -- I've been using it for Crosswalk
development, and it works  (I get caught every time I switch back to
master, and the crosswalk plugin refuses to install :) )



 If not, we would have to do a #ifdef __IPHONE_8_0 macro in the code.


 On Fri, Nov 14, 2014 at 11:18 AM, Shazron shaz...@gmail.com wrote:

 Thanks Julio!
 I'll comment on the PR itself.

 Shaz

 On Fri, Nov 14, 2014 at 8:42 AM, Ian Clelland iclell...@chromium.org
 wrote:

 Well, I think what you've just done (pinging the list) is pretty close
 to the right next step.

 You should probably assign the issue back to Shaz with a note directed
 to him asking him to take a look and merge it in. (I'd merge it, but I
 haven't been following iOS 8 development closely enough to judge its
 correctness)

 And thanks for taking it on!

 Ian


 On Fri Nov 14 2014 at 2:32:14 AM julio cesar sanchez 
 jcesarmob...@gmail.com wrote:

 CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported
 and I
 asked if it could be assigned to me.
 Shazron assigned to me and I fixed it with this pull request
 https://github.com/apache/cordova-plugin-dialogs/pull/39

 It's been 3 weeks and it hasn't been merged, so I don't know if I have
 to
 do something else, it's the first issue assigned to me.






Re: I've fixed an issue. What's next?

2014-11-14 Thread Jesse
Nope, just wait patiently. Someone will get to it soon.


@purplecabbage
risingj.com

On Thu, Nov 13, 2014 at 11:31 PM, julio cesar sanchez 
jcesarmob...@gmail.com wrote:

 CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported and I
 asked if it could be assigned to me.
 Shazron assigned to me and I fixed it with this pull request
 https://github.com/apache/cordova-plugin-dialogs/pull/39

 It's been 3 weeks and it hasn't been merged, so I don't know if I have to
 do something else, it's the first issue assigned to me.



Re: I've fixed an issue. What's next?

2014-11-14 Thread Steven Gill
Maybe we should have it auto grab an older version of the plugin that is
supported? Or at least a better error message telling them to try older
versions of the plugin with cordova plugin add
org.apache.cordova.file@VERSION

On Fri, Nov 14, 2014 at 11:49 AM, Michal Mocny mmo...@chromium.org wrote:

 I just added this to org.apache.cordova.file's plugin.xml as a test:

 engines
   engine name=cordova-ios version==4.0.0 /
 /engines

 Then tried to install that version locally in a project, and got:

 Installing org.apache.cordova.file for ios
 Failed to install 'org.apache.cordova.file':CordovaError: Plugin doesn't
 support this project's cordova-ios version. cordova-ios: 3.6.3, failed
 version requirement: =4.0.0

 Would probably prefer to clean up the error a bit, but seems to work well.

 On Fri, Nov 14, 2014 at 2:33 PM, Ian Clelland iclell...@chromium.org
 wrote:

  On Fri Nov 14 2014 at 2:24:41 PM Shazron shaz...@gmail.com wrote:
 
   General question to everybody:
  
   The patch requires the iOS 8 SDK (i.e. Xcode 6). We require Xcode 6 in
   cordova-ios 3.7.0 and there was consensus on it.
   However, the plugin.xml itself does not have an engine tag to specify
  what
   it supports.
  
   Question:
 Do we have engine tag support in the CLI, where it won't install a
   plugin if the requirements are not met?
  
 
  We certainly do, for Android at least -- I've been using it for Crosswalk
  development, and it works  (I get caught every time I switch back to
  master, and the crosswalk plugin refuses to install :) )
 
 
  
   If not, we would have to do a #ifdef __IPHONE_8_0 macro in the code.
  
  
   On Fri, Nov 14, 2014 at 11:18 AM, Shazron shaz...@gmail.com wrote:
  
   Thanks Julio!
   I'll comment on the PR itself.
  
   Shaz
  
   On Fri, Nov 14, 2014 at 8:42 AM, Ian Clelland iclell...@chromium.org
 
   wrote:
  
   Well, I think what you've just done (pinging the list) is pretty
 close
   to the right next step.
  
   You should probably assign the issue back to Shaz with a note
 directed
   to him asking him to take a look and merge it in. (I'd merge it, but
 I
   haven't been following iOS 8 development closely enough to judge its
   correctness)
  
   And thanks for taking it on!
  
   Ian
  
  
   On Fri Nov 14 2014 at 2:32:14 AM julio cesar sanchez 
   jcesarmob...@gmail.com wrote:
  
   CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was
 reported
   and I
   asked if it could be assigned to me.
   Shazron assigned to me and I fixed it with this pull request
   https://github.com/apache/cordova-plugin-dialogs/pull/39
  
   It's been 3 weeks and it hasn't been merged, so I don't know if I
 have
   to
   do something else, it's the first issue assigned to me.
  
  
  
  
 



Re: I've fixed an issue. What's next?

2014-11-14 Thread Josh Soref
Michal Mocny wrote:
I just added this to org.apache.cordova.file's plugin.xml as a test:

engines
  engine name=cordova-ios version==4.0.0 /
/engines

Then tried to install that version locally in a project, and got:

Installing org.apache.cordova.file for ios
Failed to install 'org.apache.cordova.file':CordovaError: Plugin doesn't
support this project's cordova-ios version. cordova-ios: 3.6.3, failed
version requirement: =4.0.0

Would probably prefer to clean up the error a bit, but seems to work well.

Hrm, does that mean that someone using an old version of a platform can't
install *any* version of a plugin (easily) if the latest version requires
a newer platform?

That'd be rather unfortunateā€¦





Re: I've fixed an issue. What's next?

2014-11-14 Thread Shazron
I know that it is unfortunate that's why I think the macro solution instead
of the engine solution is best for core plugins (I discovered from the spec
I could use 'apple-xcode' and 'apple-ios' to further differentiate, but
never mind).

We can take care of this as committers for the core plugins by using the
macros, but a lot of plugin authors and contributors are careless in that:

1. They either don't use an engine tag
2. Or they don't adequately protect newer iOS SDK calls from crashing on
older iOS runtime. Sure, it compiles in iOS 8 SDK, but if a user runs it on
an iOS 6 or 7 device, it will crash when it reaches that iOS 8 API
function. I don't think there are any open source linters out there that
will help us with this (there is a commercial one:
http://www.deploymateapp.com)



On Fri, Nov 14, 2014 at 11:54 AM, Josh Soref jso...@blackberry.com wrote:

 Michal Mocny wrote:
 I just added this to org.apache.cordova.file's plugin.xml as a test:
 
 engines
   engine name=cordova-ios version==4.0.0 /
 /engines
 
 Then tried to install that version locally in a project, and got:
 
 Installing org.apache.cordova.file for ios
 Failed to install 'org.apache.cordova.file':CordovaError: Plugin doesn't
 support this project's cordova-ios version. cordova-ios: 3.6.3, failed
 version requirement: =4.0.0
 
 Would probably prefer to clean up the error a bit, but seems to work well.

 Hrm, does that mean that someone using an old version of a platform can't
 install *any* version of a plugin (easily) if the latest version requires
 a newer platform?

 That'd be rather unfortunateā€¦






Re: I've fixed an issue. What's next?

2014-11-14 Thread Josh Soref
Steven Gill wrote:
 Maybe we should have it auto grab an older version of the plugin that is
 supported? Or at least a better error message telling them to try older
 versions of the plugin with cordova plugin add
 org.apache.cordova.file@VERSION

Ian Clelland wrote:
 I'd love to have the plugin registry automatically serve the

 most-recent-still-compatible version of a plugin. I don't know how that
 works when you install plugins *before* platforms, though.

I think plugman or someone at a prepare stage when a platform installs
could warn and try (network could be offline) to get a compatible version.

Note that there's an interesting problem here:

Suppose I have 1 plugin, and I install version 20 of it to my project.
I then install platform A which is happy w/ version 20.
I then install platform B which only works w/ version 19, so something
automatically installs version 19 for this platform.

If the API between the two versions isn't compatible (and we don't have an
api validator to tell the developer if it is), then the resulting app
won't work properly on that platform.



I've fixed an issue. What's next?

2014-11-13 Thread julio cesar sanchez
CB-7734 (https://issues.apache.org/jira/browse/CB-7734) was reported and I
asked if it could be assigned to me.
Shazron assigned to me and I fixed it with this pull request
https://github.com/apache/cordova-plugin-dialogs/pull/39

It's been 3 weeks and it hasn't been merged, so I don't know if I have to
do something else, it's the first issue assigned to me.