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 EBB6598DF for ; Mon, 25 Jun 2012 18:28:03 +0000 (UTC) Received: (qmail 42434 invoked by uid 500); 25 Jun 2012 18:28:03 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 42411 invoked by uid 500); 25 Jun 2012 18:28:03 -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 42402 invoked by uid 99); 25 Jun 2012 18:28:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jun 2012 18:28:03 +0000 X-ASF-Spam-Status: No, hits=-1.3 required=5.0 tests=FRT_ADOBE2,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of fil@adobe.com designates 64.18.1.191 as permitted sender) Received: from [64.18.1.191] (HELO exprod6og106.obsmtp.com) (64.18.1.191) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jun 2012 18:27:58 +0000 Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob106.postini.com ([64.18.5.12]) with SMTP ID DSNKT+itmQ0YybxIE4TLwdsX4jejlqsmaQHV@postini.com; Mon, 25 Jun 2012 11:27:37 PDT Received: from inner-relay-4.eur.adobe.com (inner-relay-4b [10.128.4.237]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q5PIRaX9028998 for ; Mon, 25 Jun 2012 11:27:36 -0700 (PDT) Received: from nacas03.corp.adobe.com (nacas03.corp.adobe.com [10.8.189.121]) by inner-relay-4.eur.adobe.com (8.12.10/8.12.9) with ESMTP id q5PIQLZ4014705 for ; Mon, 25 Jun 2012 11:27:35 -0700 (PDT) Received: from nambxv01a.corp.adobe.com ([10.8.189.95]) by nacas03.corp.adobe.com ([10.8.189.121]) with mapi; Mon, 25 Jun 2012 11:27:14 -0700 From: Filip Maj To: "callback-dev@incubator.apache.org" Date: Mon, 25 Jun 2012 11:28:39 -0700 Subject: Re: Plugin Format and Spec Thread-Topic: Plugin Format and Spec Thread-Index: Ac1TACQVo02EP1qmRWyjPKtaTH4RLw== Message-ID: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.2.2.120421 acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org Looks great. I'll add some detail to the list you have here. I'd recommend tweaking the order a little bit; introducing the JS before the native APIs. # Plugin Author Guide - plugin package format -> points to Andrew's plugin spec - js api --- basically documenting exec(). Service, action, callbacks, arguments. What about how arguments are translated from JS types (string, number, objects, etc) to native types for each platform? - native api --- ios --- android --- blackberry --- windowsphone --- bada On 6/25/12 11:16 AM, "Brian LeRoux" wrote: >Biggest question is how to document. My thinking is that we want to >specify the PluginPackage so that PluginInstall works. So the docs >would read like this: > ># Plugin Author Guide > >- plugin package format >- native api >--- ios >--- android >--- blackberry >--- windowsphone >--- bada >- js api > >Thoughts? (If this looks good I will update the issue.) > > > >On Mon, Jun 25, 2012 at 10:50 AM, Filip Maj wrote: >> Hah Michael and I were just talking about that.. >> >> I will send a pull request to Andrew's draft spec >> >> On 6/25/12 10:46 AM, "Brian LeRoux" wrote: >> >>>npm does this w/ an 'engines' attribute on package.json >>> >>>On Mon, Jun 25, 2012 at 10:26 AM, Filip Maj wrote: >>>> One more thing that came to mind is how to support different versions >>>>of Cordova? Any ideas? >>>> >>>> From: Andrew Lunny > >>>> Reply-To: "alunny@gmail.com" >>>>> >>>> To: Default User Nam > >>>> Cc: >>>>"callback-dev@incubator.apache.org>>>.o >>>>rg>" >>>>>>>.o >>>>rg>> >>>> Subject: Re: Plugin Format and Spec >>>> >>>> >>>> >>>> On 11 June 2012 13:50, Filip Maj > >>>>wrote: >>>> Nice work Andrew! I suggest taking this and moving to a cordova wiki >>>>page >>>> (assuming all committers are on board to adopting this as the basis >>>>for >>>>a >>>> plugin spec) >>>> >>>> A link on the Cordova wiki is probably the best place to start - we >>>>can >>>>get some more feedback from plugin authors and app developers (i.e. >>>>keep >>>>this as "a way to write plugins" rather than "the official way to write >>>>plugins"). >>>> >>>> >>>> Is target-dir necessary for the element? For Java files, >>>>the >>>> tooling could take a peak inside the .java file and extract out the >>>> package name from the file, no? Phonegap build already does this >>>>doesn't >>>> it? >>>> >>>> PhoneGap Build did do this, but no longer supports uploading arbitrary >>>>Java files. Only plugins with a manifest are supported. >>>> >>>> I'm torn - one of the goals of this format is to make it as easy as >>>>possible to write tools that use it as possible. Right now, a tool >>>>reads >>>>one file (plugin.xml) and moves source files (ignoring config files for >>>>the moment). I'd prefer it wasn't "read one file, then read each .java >>>>file to discover where to move it". >>>> >>>> One option is to use the id attribute on the top-level plugin element >>>>to resolve the path, but that doesn't handle the case where different >>>>Java files will have different paths. I wonder if there are more >>>>complex >>>>plugins around we can try to convert to see where the pain points are. >>>> >>>> >>>> Adding the ability to modify existing parts of a native platform's >>>>config >>>> document to the portion might be needed.. Although Ive >>>>yet >>>> to dig up a use case. Will dig around more. >>>> >>>> Agreed - also things like target OS/SDK versions may be required by >>>>certain plugins (i.e. this plugin uses an iOS 6 API, so we need to >>>>update your project to iOS 6). Probably the best approach there is to >>>>warn/prompt the user before proceeding. >>>> >>>> +1 agree that and is redundant. Tooling >>>> should be able to distinguish this so merging with >>>>makes a >>>> lot of sense. >>>> >>>> Looking good! >>>> >>>> On 6/8/12 6:40 PM, "Andrew Lunny" >>>>> wrote: >>>> >>>>>Hi all, >>>>> >>>>>I've posted to this list before about pluginstall[1], the tool I've >>>>>developed as part of working on PhoneGap Build and requiring >>>>>programmatic >>>>>installation of Cordova plugins. >>>>> >>>>>I've now written up a spec for the format that pluginstall uses - I >>>>>think >>>>>it's generally useful for Cordova plugin installation and >>>>>manipulation. >>>>>The >>>>>spec is available on GitHub: >>>>>https://github.com/alunny/cordova-plugin-spec >>>>> >>>>>Issues and/or pull requests and/or forks welcome. >>>>> >>>>>Cheers, >>>>>Andrew >>>>> >>>>>[1] https://github.com/alunny/pluginstall >>>> >>>> >>