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 C0E3BF0F2 for ; Thu, 21 Mar 2013 23:11:22 +0000 (UTC) Received: (qmail 81591 invoked by uid 500); 21 Mar 2013 23:11:18 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 81534 invoked by uid 500); 21 Mar 2013 23:11:18 -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 81394 invoked by uid 99); 21 Mar 2013 23:11:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Mar 2013 23:11:17 +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.37 as permitted sender) Received: from [64.18.1.37] (HELO exprod6og116.obsmtp.com) (64.18.1.37) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Mar 2013 23:11:11 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob116.postini.com ([64.18.5.12]) with SMTP ID DSNKUUuTeaXiVglQOPhLyCp0F7zdV1+KlNv8@postini.com; Thu, 21 Mar 2013 16:10:50 PDT Received: from inner-relay-1.corp.adobe.com ([153.32.1.51]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r2LN7f1v013549 for ; Thu, 21 Mar 2013 16:07:41 -0700 (PDT) Received: from nahub02.corp.adobe.com (nahub02.corp.adobe.com [10.8.189.98]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r2LNAmAV016826 for ; Thu, 21 Mar 2013 16:10:48 -0700 (PDT) Received: from nambxv01a.corp.adobe.com ([10.8.189.95]) by nahub02.corp.adobe.com ([10.8.189.98]) with mapi; Thu, 21 Mar 2013 16:10:48 -0700 From: Filip Maj To: "dev@cordova.apache.org" Date: Thu, 21 Mar 2013 16:10:45 -0700 Subject: Re: Platform-level command line scripts Thread-Topic: Platform-level command line scripts Thread-Index: Ac4miVKmguQDdDldT0+HvrCCkhXDbw== 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 Who's four-command proposal is it? Anis' or Andrew's? On 3/21/13 3:14 PM, "Brian LeRoux" wrote: >I think we can have our cake and eat it too. We should have four high >level commands. Those commands can shell to lower level discreetly >testable commands. The end user will never know the difference. The >developers win the tight abstraction we seek. > >Make sense? > >On Thu, Mar 21, 2013 at 2:55 PM, Anis KADRI wrote: >> On Thu, Mar 21, 2013 at 2:29 PM, Michael Brooks >>wrote: >> >>> +1 Fil's outlined design. >>> >>> I'm still not convinced of what Anis and Andrew are in favour of. >>>Having >>> each script do more will make it more difficult for common results >>>across >>> all platforms. >>> >>> I really like Anis's suggestion of just four scripts. What's the >>>motivation >>> > for having many scripts? Having fewer will dramatically reduce copy & >>> paste >>> > bugs. It will also aid discoverability (since you'll get --help >>>instead >>> of >>> > just "ls" and infer from the name what they do). >>> >>> >>> The motivation for having many scripts is that there is a single entry >>> point for a single action. Each action is discrete. Either a platform >>> supports `deploy-emulator` or doesn't. If we have a single `run` >>> entry-point, it becomes confusing whether a platform supports all >>> requirements of the `run` action. >>> >>> I feel the code repetition is also a weak argument. We are defining >>> entry-point scripts. You can refactor out the common routines (e.g. >>>build) >>> into a helper script that can be invoked by multiple scripts. As far >>>as I >>> know, this is possible in bash, batch, and Windows Script Hosting. >>> >> >> I guess this topic will need a vote to follow the Apache Way. We've been >> talking about/implementing/changing these scripts for a long time and we >> can't seem to come to a complete agreement. >> >> >>> >>> ripple should be a separate option and not a separate command in my >>> > opinion. To simplify things and if everyone agrees we can ignore the >>> `run` >>> > command flow above and launch ripple by default and ask users to >>>specify >>> > options if they want to deploy and run to a particular >>>device/emulator. >>> >>> >>> I feel Ripple has no place in the platform-specific scripts. I love >>>Ripple, >>> but Ripple belongs is a higher-level tool such as Cordova CLI. The >>> platform-specific scripts are meant to deal with platform-specific >>> functions. >>> >> >> I don't have a strong opinion on this. So I could agree with you that >>this >> Ripple could be a higher-level tool. >> >> >>> >>> Michael >>> >>> On Wed, Mar 20, 2013 at 8:22 PM, Benn Mapes >>>wrote: >>> >>> > I liked the idea you mentioned earlier with having one wrapper >>>script, >>> > that way there is one entry point for the given commands for the >>>needed >>> > functionality. Then it doesn't matter what underlying scripts >>>actually do >>> > the work. >>> > >>> > Then our only focus would be on the commands and not so much the >>>name of >>> > the scripts. >>> > >>> > >>> > On Wed, Mar 20, 2013 at 7:36 PM, Andrew Grieve >>> > wrote: >>> > >>> > > I really like Anis's suggestion of just four scripts. What's the >>> > motivation >>> > > for having many scripts? Having fewer will dramatically reduce >>>copy & >>> > paste >>> > > bugs. It will also aid discoverability (since you'll get --help >>>instead >>> > of >>> > > just "ls" and infer from the name what they do). >>> > > >>> > > >>> > > On Wed, Mar 20, 2013 at 7:06 PM, Filip Maj wrote: >>> > > >>> > > > Ya ya ya we're all on agreement on this specific issue. The >>> underlying >>> > > > platform scripts can be used regardless of whether you're using >>> > > > cordova-cli or not. >>> > > > >>> > > > On 3/20/13 3:51 PM, "Anis KADRI" wrote: >>> > > > >>> > > > >On Wed, Mar 20, 2013 at 3:43 PM, Benn Mapes >>> >>> > > wrote: >>> > > > > >>> > > > >> I know that sounds >>> > > > >> like a lot >>> > > > >> of scripts but we're building them for the cordova-cli to use, >>> so i >>> > > > >>like >>> > > > >> the idea of breaking >>> > > > >> them out so each script does a *very specific* task with as >>> > > > >>little-to-no >>> > > > >> >>> > > > > >>> > > > >No we're not. cordova-cli is a cool tool that people can use >>>but it >>> > > should >>> > > > >not be the only way of building Cordova apps in my opinion. >>> > > > >>> > > > >>> > > >>> > >>>