+1 to all of your points Mike On 9/19/12 9:55 AM, "Mike Reinstein" <reinstein.m...@gmail.com> 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 <config-file> to <xml-graft> and <plugins-plist> to > <plist-add>. 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 <project path> --platform > <ios|android> -- --plugin <plugin archive path> 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