+1

On Fri, Oct 2, 2015 at 8:14 AM, Vladimir Kotikov (Akvelon)
<v-vlk...@microsoft.com> wrote:
> The previous email was broken due to Ctrl+Enter, sorry ☹
>
> I’m looking into the tests failures on OS X, caused by PlatformApi 
> refactoring and it seems they caused by double caching of ios pbxproj files: 
> first time in ios_parser [1] and second time in PlatformMunger (through 
> ConfigKeeper class) [2], [3]. It seems that at some time one file get cached 
> twice and then saving one cached instance we’re overwriting changes, saved 
> from another cache.
>
> So I have a question: What is the idea of dealing with xcode files and, in 
> particular , with non-custom frameworks in PlatformMunger instead of ios 
> plugin handler, along with custom frameworks. The one reason I see is that we 
> need to count references to these frameworks, so if two or more plugins 
> references same frameworks, removal of one of them won’t remove framework 
> reference from pbxproj file.
>
> However, if this this is the only reason, would it make sense to move 
> non-custom frameworks related logic  to plugin handler? This will resolve 
> those caching issues and looks more intuitive and easier to maintain for me.
>
> I’ve made some prototype work on this refactoring and it seems to work fine. 
> See this commit for details: [4]
>
> -----
> [1] 
> https://github.com/MSOpenTech/cordova-lib/blob/master/cordova-lib/src/plugman/platforms/ios.js#L210
> [2] 
> https://github.com/MSOpenTech/cordova-lib/blob/master/cordova-common/src/ConfigChanges/ConfigChanges.js#L91
> [3] 
> https://github.com/MSOpenTech/cordova-lib/blob/master/cordova-common/src/ConfigChanges/ConfigKeeper.js#L47
>
> [4] 
> https://github.com/MSOpenTech/cordova-lib/commit/699bfe44a917b264815dc99efa0d770b766fa3a9
>
> -
> Best regards, Vladimir
>
> From: Vladimir Kotikov (Akvelon)
> Sent: Friday, October 2, 2015 6:04 PM
> To: dev@cordova.apache.org
> Subject: Question about ios non-custom frameworks
>
> Hi, guys. I’m looking into the tests failures on OS X, caused by PlatformApi 
> refactoring and it seems they caused by double caching of ios pbxproj files: 
> first time in ios_parser [1] and second time in PlatformMunger (through 
> ConfigFile class) [2], [3]. It seems that at some time one file get cached 
> twice and then saving one cached instance we’re overwriting changes, saved 
> from another cache.
>
> [1] 
> https://github.com/MSOpenTech/cordova-lib/blob/master/cordova-lib/src/plugman/platforms/ios.js#L210

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
For additional commands, e-mail: dev-h...@cordova.apache.org

Reply via email to