I'm wary of creating an additional manifest.. What if we came up with a convention for storing each plugin's plugin.xml within the native project structure that the plugin got installed into? It IS extra space needed, but a few kb per plugin doesn't seem so bad (this is just my naïve first-pass type of brainstorming for this stuff)
I see a few benefits: - Can then use <plugin> or <feature> tags inside the config.xml to determine which plugins are installed - Can trace back to the plugin's plugin.xml file based on the name and/or value in these tags (based on whatever convention we come up with storing the .xml file, as I suggested above). This way on each plugin install or removal, we can detect collisions. - can use plugman on its own on a per-project basis - since we can go from config.xml -> all the plugin.xmls, this gives us a start at dependency management Let's keep this train going! I feel we're getting somewhere here On 3/14/13 7:35 AM, "Braden Shepherdson" <[email protected]> wrote: >I'm working on a high-level what-not-how sort of document for the whole >plugin tools story, and this is something I keep coming back to. It's >looking like we'll need to know what plugins are installed and where files >have been placed where. This is important for uninstalling and also for >updating the iOS project files. > >If we do need a manifest of that kind, it should absolutely be a shared >format between plugman and cordova-cli. Or perhaps more precisely, for >anything dealing at the level of files, cordova-cli should be calling >plugman, which would deal with the files and update the manifest. I'm not >thrilled about having such metadata, but it's hard to use the filesystem >as >the source of truth here. > >Thoughts? > >Braden > > >On Thu, Mar 14, 2013 at 3:21 AM, Filip Maj <[email protected]> wrote: > >> On 3/12/13 5:26 PM, "Andrew Grieve" <[email protected]> wrote: >> >> >One possible solution: Have JS-only plugins add a <plugin> tag with a >>name >> >but no value. >> >> Thinking more generally here, as Anis said, the problem here is >> dependencies. I think determining how aware plugman needs to be of the >> project is important. Pretty sure plugman needs to: >> >> A) know which plugins are installed >> B) able to get a reference to each plugin's config file, to be able to >> warn of things like collisions >> >> Does this sound right? >> >>
