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 B5C58D194 for ; Wed, 19 Sep 2012 16:56:12 +0000 (UTC) Received: (qmail 20845 invoked by uid 500); 19 Sep 2012 16:56:12 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 20799 invoked by uid 500); 19 Sep 2012 16:56:12 -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 20791 invoked by uid 99); 19 Sep 2012 16:56:12 -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 16:56:12 +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 reinstein.mike@gmail.com designates 209.85.214.175 as permitted sender) Received: from [209.85.214.175] (HELO mail-ob0-f175.google.com) (209.85.214.175) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Sep 2012 16:56:06 +0000 Received: by obblz20 with SMTP id lz20so1302903obb.6 for ; Wed, 19 Sep 2012 09:55:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=gXOVk+w43XYqwKatJAbHTFhY/T+li8G4DjexbaZR5Ew=; b=AcFCbC1RXdjeJ/hpgXrYAv1XM3Fo+304XABo8KwqfoZabaYw8j63uT+rGcVlo7wHAa W1Keyz63g+w625orKyhec36H9ndupL7OkOuwq0IIgfoajROP8NmsqT4KFTve0fXz8eOT hMyM9flFa7tEZI2ODVO4vRBg/OLCV+I24Y6GKwCC1lgyayGxn3Q2RkFsqgzASg8e5frk guGeMiD5cAlQg6wQaVDZVxsqAkPB/VaNG3fFZja4R9UM9y9tR7+wxvDnY+yIJgquXpSm VmEbhbaLtsO+v5+aFWIlkb/yZFr2+UpUgpHYdDVLIdYbCfY/XeECLrPUyjzZzRms1pP1 Bhjg== MIME-Version: 1.0 Received: by 10.60.172.70 with SMTP id ba6mr958537oec.104.1348073745676; Wed, 19 Sep 2012 09:55:45 -0700 (PDT) Received: by 10.182.34.234 with HTTP; Wed, 19 Sep 2012 09:55:45 -0700 (PDT) Date: Wed, 19 Sep 2012 12:55:45 -0400 Message-ID: Subject: pluginstall cleanup and improvements From: Mike Reinstein To: callback-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=bcaec54b5366bdf80d04ca10e0ce X-Virus-Checked: Checked by ClamAV on apache.org --bcaec54b5366bdf80d04ca10e0ce Content-Type: text/plain; charset=ISO-8859-1 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 --bcaec54b5366bdf80d04ca10e0ce--