Return-Path: X-Original-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 94E0498B2 for ; Mon, 26 Mar 2012 16:08:53 +0000 (UTC) Received: (qmail 15376 invoked by uid 500); 26 Mar 2012 16:08:53 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 15343 invoked by uid 500); 26 Mar 2012 16:08:53 -0000 Mailing-List: contact callback-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: callback-dev@incubator.apache.org Delivered-To: mailing list callback-dev@incubator.apache.org Received: (qmail 15335 invoked by uid 99); 26 Mar 2012 16:08:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Mar 2012 16:08:53 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of brian.leroux@gmail.com designates 209.85.161.175 as permitted sender) Received: from [209.85.161.175] (HELO mail-gx0-f175.google.com) (209.85.161.175) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Mar 2012 16:08:49 +0000 Received: by ggcy3 with SMTP id y3so3885258ggc.6 for ; Mon, 26 Mar 2012 09:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=CkOXpsohwo4KUQkx1kTsEZihq2seNlU2lK+lKkdewhg=; b=C1XO19x/xPVGK7aUqGb59bBnm5DFruvwtKC77Q+Nga4/fFGLzBOlT1FgbobMiifKVw sM/2pAFrxS8lE3cY23/n7zwSHYU6tNV7AdgrrDu2utJh9ezDc5k0XHg9lPDtafd1TVxn +w2EWlxRHd5Klq94hscokJVvQcCA0PpB0u4aDb7HROaQMQb7ljvcWqfchCGBTYb01atm /KmpzPd94dgZDF3vkH9+fVi460L6mx+XNPkBSpA3Xz5mbuKWEBaVZEsofBRcn1iuhFoq 7MOmNev4ZUuHuyh5Jj6CAsepZiC13PlqElIsNAJrpaWROqS3siDJ0HbcP7qXEV2XWCm5 cRPg== MIME-Version: 1.0 Received: by 10.60.13.37 with SMTP id e5mr18875791oec.70.1332778107915; Mon, 26 Mar 2012 09:08:27 -0700 (PDT) Sender: brian.leroux@gmail.com Received: by 10.60.63.167 with HTTP; Mon, 26 Mar 2012 09:08:27 -0700 (PDT) In-Reply-To: References: Date: Mon, 26 Mar 2012 09:08:27 -0700 X-Google-Sender-Auth: 5bUzMHkntNVOgIA0NaLnompaslo Message-ID: Subject: Re: endless refactoring of plugins until "Cordova 2.x" From: Brian LeRoux To: callback-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On one hand I buy into this to shield from change and allow ppl time to migrate. On the other, thats the point of a point release to me. To make the migration incremental so that 2.x does NOT break all the things and is viewed as a fucked up release. This will mean 2.x work stays in a branch and has to be constantly rebased which may be really painful for implementors. Either way, separation of bugs from new-ness smells pragmatic; and I know we share the same goals here of plugins for everything. Before we go ahead w/ the assumption everything from here is drastic can we first outline exactly what happens next? - Removal of undocumented but in use globals. - Consolidation of tooling for plugin package validation, installation, and removal. - Refactor of native code into discreet packages across platforms into atomic units called plugins. Eg. cordova-plugin-geolocation - Refacotor coho to allow for composing a release of particular plugins. - Document correct procedure for generating a plugin. - Automate plugin discovery ala npm/cpan/rubygems/pypi/etc. What am I missing? Lets update the roadmap so we can allow ppl to stay bleeding towards 2.x and be on the same page for whats happening next. Agree, plugins are in a hard way right now but this is all for the better for them! On Mon, Mar 26, 2012 at 7:11 AM, Drew Walters wrote: > +1 to 2.0 development stream. =A0Too many structural level changes are > happening between releases right now. > > On Mon, Mar 26, 2012 at 9:07 AM, Simon MacDonald > wrote: >> I would love to see this too stream approach moving forward with Cordova >> until the 2.0 release. >> >> Simon Mac Donald >> http://hi.im/simonmacdonald >> >> >> On Mon, Mar 26, 2012 at 10:00 AM, Patrick Mueller wr= ote: >> >>> see: >>> =A0 =A0https://issues.apache.org/jira/browse/CB-298 >>> =A0 =A0"DEPRECATE and then remove "plugins" and "PhoneGap" global objec= ts from >>> JavaScript implementation" >>> >>> So, at this point, it looks like anyone with plugins who wants to follo= w >>> the Cordova releases will be in a constant state of refactoring to >>> accommodate each new point release. =A0That is so painful. >>> >>> Add to this, our release cycle is 4 weeks, so we realistically have a >>> couple of weeks to implement refactorings, such as described in the >>> referenced bug. =A0Which means we don't have a lot of time to capture >>> feedback from those refactorings before they become "new API". >>> >>> This really isn't great. >>> >>> I think at this point, I'd like to freeze the 1.x "API", and have a >>> separate stream of development for 2.x. >>> >>> Downside: >>> >>> - separate streams of development >>> >>> Upside: >>> >>> - easier to stabilize 1.x level API >>> - longer-lived streams of development for 2.x >>> - most folks will only have to refactor their plugins once, from 1.x to >>> 2.0, instead of 1.5 -> 1.6, 1.6 -> 1.7, ... >>> >>> -- >>> Patrick Mueller >>> http://muellerware.org >>>