+1 mystery solved, I saw this behavior long time ago but was not able to reproduce, frameworks disappear when I remove my plugin, but other plugins depended on it.
On Fri, Oct 2, 2015 at 3:05 PM Shazron <[email protected]> wrote: > +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] > >
