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 E8ED0D263 for ; Wed, 19 Sep 2012 18:49:08 +0000 (UTC) Received: (qmail 47965 invoked by uid 500); 19 Sep 2012 18:49:08 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 47944 invoked by uid 500); 19 Sep 2012 18:49:08 -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 47935 invoked by uid 99); 19 Sep 2012 18:49:08 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Sep 2012 18:49:08 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of anis.kadri@gmail.com designates 209.85.161.175 as permitted sender) Received: from [209.85.161.175] (HELO mail-gg0-f175.google.com) (209.85.161.175) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Sep 2012 18:49:02 +0000 Received: by ggmq1 with SMTP id q1so362812ggm.6 for ; Wed, 19 Sep 2012 11:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=jV1e1fZO6LdvRJ0DwYfCcxpj5s82+tyjxtKDKxDuNss=; b=hrMmm9g3JbTFpAiveBxbqxbDeYFHnHtHNm6NxFqH0tUibc4J7ptHc8NL3vNQMNVabY rs6/Uh3hcYUebKLCUPDUS9xweT7Vz73wSlQHzzq12qPo6Br5j/3mpwlmyCFAy3bNvP1w rHnBAq38yFr04ZoQue9P5GZD9QFqchsoX+Dk39MzSiH8+TPGasEorXsvqZZKYhup6xpV 1jKR1uOZXb5Wgw32UHbuv230rGxyvG0Ox8fEt50GlBDJQeIDEk/chxXVEu8PF6SsYBV6 ZOh80XwMW2vD1KPWmJx3R/PfYXjwubAFrs0ejDv7JHVyr3Mp9tAv9HUdBFyfjf5qBZd2 8UFA== MIME-Version: 1.0 Received: by 10.236.149.162 with SMTP id x22mr4486977yhj.92.1348080521693; Wed, 19 Sep 2012 11:48:41 -0700 (PDT) Received: by 10.236.144.168 with HTTP; Wed, 19 Sep 2012 11:48:41 -0700 (PDT) In-Reply-To: References: Date: Wed, 19 Sep 2012 11:48:41 -0700 Message-ID: Subject: Re: pluginstall cleanup and improvements From: Anis KADRI To: callback-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=20cf303a321f9fc8ae04ca127483 X-Virus-Checked: Checked by ClamAV on apache.org --20cf303a321f9fc8ae04ca127483 Content-Type: text/plain; charset=ISO-8859-1 Yes I agree with all of it too. Except maybe for the android namespacing. I believe it should be read from the package statement in the java files or specified somewhere in the plugin.xml. src/Child_Browser/com/phonegap does not sound right to me. I definitely agree with keeping the plugin.xml around for uninstallation purposes. -a On Wed, Sep 19, 2012 at 11:12 AM, Filip Maj wrote: > +1 to all of your points Mike > > On 9/19/12 9:55 AM, "Mike Reinstein" wrote: > > >Hey folks, > > > >As you may know, pluginstall is the low level awesome utility written by > >Andrew Lunny, and it's a very key element in the cordova command line > >tools > >that several people have been working on. Andrew and I spoke yesterday > >over > >email, and he's planning to be afk from this tool for several weeks as he > >gets caught up with work, and finishes the major phonegap build release > >they are doing. I'm starting this thread to have a discussion about some > >changes; I want to make sure we can come to some agreement before > >proceeding with actual merging and cleanup. > > > >For brevity's sake I'm going to assume you already have a working > >knowledge > >of how pluginstall works but of course feel free to ask questions as > >needed. These are the major points to discuss: > > > > > > - IMO pluginstall should force namespacing to prevent multiple plugins > > from having colliding assets. For example, Child Browser plugin would > >put > > it's native files in ios projects under Plugins/Child_Browser and for > > android projects under src/Child_Browser/com/phonegap/.. > > - I've looked at a few plugins, and i think we can change from explicit > > to copying declarations in the manifest file to implicit; rather than > > having to declare source-files, header-files, and asset-files in > > plugin.xml, all resources should be copied in, and use the file > >extension > > to dictate how it's handled (for example .h files will always be added > >as > > headers to an ios project's xcodeproj file, etc) > > - rename to and to > > . Since these tags represent operations being performed on > >data > > files, let's identify and rename them as such. > > - change the cli signature to be use more descriptive flags. For > >example > > maybe something like pluginstall --project --platform > > -- --plugin This will be important > >as > > the options available for this tool grow > > - multiple calls to addplugin should not pile up duplicate references > >to > > files. We can probably solve this quickly by internally calling > >uninstall > > plugin, then install > > - for uninstall purposes, let's keep a copy of plugin.xml in each > > platforms namespaced directory so we have a manifest for removing it > >later. > > for example from bullet 1, the ios platform would have the file > > Plugins/Child_Browser/plugin.xml > > > > > > -Mike > > --20cf303a321f9fc8ae04ca127483--