+1 On Fri, Oct 2, 2015 at 8:14 AM, Vladimir Kotikov (Akvelon) <[email protected]> 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: [email protected] > 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: [email protected] For additional commands, e-mail: [email protected]
