incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Maj <>
Subject Re: pluginstall cleanup and improvements
Date Wed, 19 Sep 2012 18:12:02 GMT
+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
>that several people have been working on. Andrew and I spoke yesterday
>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
>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
>   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
>   to dictate how it's handled (for example .h files will always be added
>   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
>   files, let's identify and rename them as such.
>   - change the cli signature to be use more descriptive flags. For
>   maybe something like pluginstall --project <project path> --platform
>   <ios|android> -- --plugin <plugin archive path> This will be important
>   the options available for this tool grow
>   - multiple calls to addplugin should not pile up duplicate references
>   files. We can probably solve this quickly by internally calling
>   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
>   for example from bullet 1, the ios platform would have the file
>   Plugins/Child_Browser/plugin.xml
> -Mike

View raw message