cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: Android - Removing the .api namespace
Date Wed, 31 Jul 2013 18:22:00 GMT
On Wed, Jul 31, 2013 at 1:39 PM, Joe Bowser <bowserj@gmail.com> wrote:

> On Wed, Jul 31, 2013 at 8:32 AM, Andrew Grieve <agrieve@chromium.org>
> wrote:
> > Joe - please stop saying "I told you so". It really is counter-productive
> > and it takes away from having a feeling of shared responsibility for the
> > project.
>
> I completely disagree.  I explicitly disagreed with this because I was
> afraid of the backlash from the users, and my concerns were ignored.
> The only reason that I agreed to it was to move forward, and it seems
> that was the wrong decision for me to make.
>
I think your concerns were acknowledged.


>
> >
> > Checking in this change was not the only thing that brought us to this
> > point. Had we had the time to follow our release process, it would have
> > been caught by step 3 of CuttingRelease's "What to Test".
> >
>
> How? We don't test third-party plugins.
>
Hmm, I thought there were references to the .api namespace in
bin/templates/project, but there's not. So, this is actually restricted to
third-party plugins.



>
> > That said, I'm still don't think that our mistake was anything other than
> > poor messaging / docs. 3.0 implies that breaking changes will happen.
>
> I disagree.  We should have kept the shim in so that people could
> easily transition from 2.9 to 3.0, as what Don said earlier.
>

The transition from 2.9 to 3.0 *is* easy. You drop the .api part. Maybe we
should add this to our bin/update script?
What Don is trying to do is support a plugin that works in both
PhoneGapBuild 2.9 as well as Cordova/PhoneGap 3.0. That's something that I
don't think was a goal to support.


>
>
> > Another thing we could look at doing is creating a shim as a plugin.
> Then,
> > if plugins want to have their java code shared with both, they can
> declare
> > that they depend on the "2.9.0 shim plugin". We could even do the same
> for
> > the old "Plugin.java" (which is another thing we removed in 3.0)
>
> Why are you so dead set against adding a shim into core?
>

I'm not dead set against it. I think we're going to run into this same
problem again and again though, so want to take the time to explore what
our options are.

Having the shim as a plugin seems like it would be less work to push out.
I think though that writing such a shim is not an easy thing to do. I
started writing one when I made the change and gave up.

My hope is that once we have a registry, and the registry can track which
plugins work with which cordova versions, that it will help address this
problem. E.g. you'll be told "org.apache.cordova.core.File v2.0 requires
Cordova v3.2, you have Cordova 3.0. Use org.apache.cordova.core.File v1.3
instead, or upgrade your Cordova version."

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message