[ 
https://issues.apache.org/jira/browse/CB-4358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13717830#comment-13717830
 ] 

Filip Maj commented on CB-4358:
-------------------------------

plugman currently does something like reference counting for config-file 
elements: it breaks up XML or plist-style configuration changes into a single 
modification per child leaf element, then iterates through all plugins to count 
how many times each such child leaf element is referenced by different plugins. 
It also uses the {{parent}} XPath selector to differentiate between potentially 
identical xml leaf elements under different areas of the config doc. That's 
what the 
[config-changes|https://github.com/apache/cordova-plugman/blob/master/src/util/config-changes.js]
 module does in plugman. I'll spend some time this week to document that code 
better so it's not so imposing.

So with the above, when a plugin gets uninstalled, this giant multi-plugin 
"config munge" gets decremented with the plugin-to-be-uninstalled's particular 
configuration changes. If there are any leaf elements in this config graph 
munge that have a reference count of zero, we know we can safely remove it.

Sounds like this same thing is necessary for {{.framework}} files. However 
these are not references in either XML or plist files but rather the project's 
{{pbxproj}} file, correct?
                
> Trim amount of frameworks (18) in default template  to minimum needed (4)
> -------------------------------------------------------------------------
>
>                 Key: CB-4358
>                 URL: https://issues.apache.org/jira/browse/CB-4358
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.0.0
>            Reporter: Shazron Abdullah
>            Assignee: Shazron Abdullah
>             Fix For: 3.1.0
>
>
> These are the only 4 frameworks needed for 3.0.0 with just CordovaLib:
> - MobileCoreServices.framework
> - CoreGraphics.framework
> - CoreLocation.framework
> - AssetsLibrary.framework
> Ensure the default template only ships with these, right now it ships with 18 
> frameworks specified.
> NOTE: After doing this, re-test all core plugins, I'm sure some of them will 
> fail since they probably depend on the frameworks already existing in the 
> default template. The frameworks they need will have to be specified in their 
> plugin.xml (file separate bugs for each plugin)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to