Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9ACCAFDB0 for ; Tue, 16 Apr 2013 21:39:52 +0000 (UTC) Received: (qmail 25962 invoked by uid 500); 16 Apr 2013 21:39:52 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 25925 invoked by uid 500); 16 Apr 2013 21:39:52 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 25909 invoked by uid 99); 16 Apr 2013 21:39:52 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Apr 2013 21:39:52 +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.21 as permitted sender) Received: from [64.18.1.21] (HELO exprod6og108.obsmtp.com) (64.18.1.21) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Apr 2013 21:39:46 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob108.postini.com ([64.18.5.12]) with SMTP ID DSNKUW3FDjQOEjtzBlNOsAtKwW2QEvut9XwM@postini.com; Tue, 16 Apr 2013 14:39:26 PDT Received: from inner-relay-4.eur.adobe.com (inner-relay-4.adobe.com [193.104.215.14]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r3GLaE1v010419 for ; Tue, 16 Apr 2013 14:36:15 -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 r3GLdNGU013200 for ; Tue, 16 Apr 2013 14:39:24 -0700 (PDT) Received: from SJ1SWM219.corp.adobe.com (10.5.77.61) by nacas03.corp.adobe.com (10.8.189.121) with Microsoft SMTP Server (TLS) id 8.3.298.1; Tue, 16 Apr 2013 14:39:23 -0700 Received: from nambxv01a.corp.adobe.com ([10.8.189.95]) by SJ1SWM219.corp.adobe.com ([fe80::d55c:7209:7a34:fcf7%11]) with mapi; Tue, 16 Apr 2013 14:39:22 -0700 From: Filip Maj To: "dev@cordova.apache.org" Date: Tue, 16 Apr 2013 14:39:19 -0700 Subject: Re: Plugman future branch work + update Thread-Topic: Plugman future branch work + update Thread-Index: Ac466tv4/wYf31fmTR6LB3o5X0wFbQ== 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.3.2.130206 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 Yay wiki is back up so I will summarize this stuff in a new article there On 4/16/13 2:29 PM, "Anis KADRI" wrote: >I like fil's proposal. Either way, I don't think it should be an error, it >should just be a warning. If if it's an error then when you have n >platforms and one is not supported some of them might not get the plugin >because one of them didn't get it (because unsupported). > > >On Tue, Apr 16, 2013 at 1:31 PM, Filip Maj wrote: > >> To be clear: we are talking about plugman as functionality on its own. >> Understandably the CLI will consume plugman and thus this is a good >> behavior to make explicit. >> >> So, how about this: if you specify installing a plugin into a platform >>it >> doesn't support, the user will be WARNED, but plugman will not "error" >>out >> per se (I.e. Will exit with code 0). >> >> On 4/16/13 12:36 PM, "Andrew Grieve" wrote: >> >> >The main use-case is knowing at install time that your app isn't going >>to >> >work. >> > >> >You're right though that there is a use-case for platform-specific >> >plugins. >> >E.g. if (cordova.plugins.somePlugin) { .. use it ... } else { ... don't >> >use >> >it ... } >> > >> >Maybe a good first step is to issue a warning? >> > >> > >> >On Tue, Apr 16, 2013 at 3:29 PM, Jesse MacFadyen >> >wrote: >> > >> >> If you specify --platform ios for a plugin that does not support ios >> >> it should be an error. >> >> >> >> Cheers, >> >> Jesse >> >> >> >> Sent from my iPhone5 >> >> >> >> On 2013-04-16, at 12:12 PM, Braden Shepherdson >> >> wrote: >> >> >> >> Why do you want errors when a plugin doesn't support a platform? >> >>Currently >> >> this silently does nothing, and this is by design. Some plugins only >> >> support some platforms, and that's fine. It just won't install on the >> >> others it doesn't support. >> >> >> >> Braden >> >> >> >> >> >> On Tue, Apr 16, 2013 at 2:53 PM, Filip Maj wrote: >> >> >> >> > >> >> >> Would like errors about trying to add a platform / plugin when the >> >> plugin >> >> >> doesn't support the platform. >> >> > >> >> > Error out and stop, or warn about a mismatch? >> >> > >> >> >> Idea: Add all plugins & platforms to config.xml, so instead of >> >>having to >> >> >> type "cordova plugin/platform add ..." for all plugins & >>platforms, >> >>you >> >> >> can >> >> >> list them in your config.xml and type "cordova prepare". Might >>make >> >>it >> >> >> easier to specify what versions of all the plugins / platforms you >> >>want >> >> to >> >> >> use. >> >> > >> >> > We'd be bastardizing the config.xml even more with that, but it >>does >> >>get >> >> > us a step closer to treating everything outside of www/merges/app >> >>folder >> >> > as build artifacts. >> >> > >> >> >> >> >> >> >> >> >> On Tue, Apr 16, 2013 at 2:44 PM, Filip Maj wrote: >> >> >> >> >> >>> We will summarize baseline use cases for plugin management w.r.t. >> >> >>> dependencies on a wiki article (once wiki is usable again). From >> >>these >> >> >>> we >> >> >>> can write tests that will drive our implementation work. Failure >> >>points >> >> >>> we >> >> >>> already know are: >> >> >>> >> >> >>> - asset collisions for native code and non-js web assets. We >>error >> >>out >> >> >>> noisily. >> >> >>> - dependencies and requiring two different versions of same >>plugin. >> >> >>> Due >> >> >>> to some of the native language constraints (i.e. Java) we cannot >> >> >>> (easily) >> >> >>> support this, so we agreed that we do not support different >> >>versions of >> >> >>> the same plugin in the app, therefore: fail noisily. >> >> >>> >> >> >>> Based on the above + other use cases, we will write tests. Then >>we >> >> write >> >> >>> code to fix tests. Once tests pass, we merge future branch back >>into >> >> >>> master and we are ready to roll out plugman/plugin.xml support to >> >>the >> >> >>> public. Thoughts on what kind of documentation we should offer >>with >> >> >>> this? >> >> >>> At a minimum we will need to revamp the plugin authoring guide. >> >> >>> >> >> >>> Anis and Braden will be doing a similar sort of thing with Plugin >> >> >>> Discovery. >> >> >>> >> >> >>> In the mean time, any other use cases the group can think of in >> >>terms >> >> of >> >> >>> plugin management and what plugman should support, feel free to >>post >> >> >>> them >> >> >>> here. >> >> > >> >> > >> >> >> >>