Braden, Can you write some tests for this specific case as well ?
Thanks! -a On Tue, Mar 12, 2013 at 4:29 PM, Anis KADRI <[email protected]> wrote: > Thanks. I merged your pull request and pushed it back to the apache repo. > > > On Tue, Mar 12, 2013 at 3:05 PM, Brian LeRoux <[email protected]> wrote: > >> Ok cool, ya no blame-game---just wanted to understand the problem so I >> can internalize the 'why' of your solution! >> >> On Tue, Mar 12, 2013 at 2:57 PM, Braden Shepherdson <[email protected]> >> wrote: >> > I've sent a pull request to plugman earlier today that fixes one case of >> > this, among other things. >> > >> > Here's an example of it in master: >> > >> https://github.com/imhotep/plugman/blob/master/platforms/android.js#L202 >> > This function looks up a <config-file> tag in the android <platform>, >> but >> > that might not exist. iOS does something similar. >> > >> > There was a similar fix to cordova-cli a couple of months ago, where it >> was >> > choking on failing to find any <source-file>s in the android <platform>, >> > back when I first wrote the refresh plugin. >> > >> > I'm not trying to blame developers for introducing problems. My goal >> here >> > is to get people to remember, when they're working on these tools, that >> > there are plugins that lack either native code or Javascript code, and >> that >> > don't add <plugin> tags to config.xml. >> > >> > Braden >> > >> > >> > On Tue, Mar 12, 2013 at 5:36 PM, Anis KADRI <[email protected]> >> wrote: >> > >> >> Dear Braden, >> >> >> >> Indeed, plugman assumes that there are javascript files, config files >> and >> >> uses a tag in the config file to check whether a plugin is installed or >> >> not. This is obviously not an ideal solution for javascript only >> plugins >> >> that don't have a plugin tag in the config file. You are right. We >> need a >> >> better solution to detect the status of javascript/native only >> plugins. I >> >> believe we'll solve this problem when we solve the problem of plugin >> >> dependencies. >> >> >> >> However, as much as I like critiques, I like them better when they're >> >> constructive and I am not sure who you're referring to when you're >> saying >> >> "stop writing code" or "people making this implicit assumption". If >> >> something doesn't work the way you think it should, I suggest you just >> open >> >> an issue and describe your problems/frustrations. If you have solution >> to >> >> the problem or a pull request that's even better. >> >> >> >> Cheers, >> >> >> >> -a >> >> >> >> >> >> On Tue, Mar 12, 2013 at 12:56 PM, Braden Shepherdson < >> [email protected] >> >> >wrote: >> >> >> >> > Well, people keep making this implicit assumption and I have to keep >> >> fixing >> >> > it to keep my several JS-only plugins working. >> >> > >> >> > The problem with plugman is a higher-level problem. If we want to >> keep >> >> > plugman as a separate tool to support building Cordova apps manually, >> >> then >> >> > we need a solution to detecting what plugins are installed. I'm not >> sure >> >> > what that approach should be. >> >> > >> >> > >> >> > On Tue, Mar 12, 2013 at 3:36 PM, Filip Maj <[email protected]> wrote: >> >> > >> >> > > So should we file a plugman issue or is this a bigger problem >> around >> >> what >> >> > > committers are doing? I'm confused, it sounds like someone did >> >> something >> >> > > wrong? >> >> > > >> >> > > On 3/12/13 2:33 PM, "Braden Shepherdson" <[email protected]> >> wrote: >> >> > > >> >> > > >This is a problem for adding and removing plugins in plugman. >> >> > cordova-cli >> >> > > >can use the existence of directories in plugins/ to know what's >> >> > installed, >> >> > > >but plugman can't do that. It currently looks for a <plugin> tag >> or >> >> > > ><config-file> tag, and assumes they exist, which causes errors. >> So I >> >> > check >> >> > > >whether the tag is defined before trying to read attributes from >> it. >> >> > > > >> >> > > >That avoids the error but doesn't solve the problem of knowing >> what is >> >> > and >> >> > > >isn't installed. Plugman just assumes JS-only plugins are never >> >> > installed, >> >> > > >so they can be double installed, and can't be removed. >> >> > > > >> >> > > > >> >> > > >On Tue, Mar 12, 2013 at 3:24 PM, Brian LeRoux <[email protected]> wrote: >> >> > > > >> >> > > >> Hey Braden, is there a specific place this happened? >> >> > > >> >> >> > > >> On Tue, Mar 12, 2013 at 8:45 AM, Braden Shepherdson >> >> > > >><[email protected]> >> >> > > >> wrote: >> >> > > >> > There are JS-only plugins with no native side. Stop writing >> code >> >> > that >> >> > > >> > expects there will always be a <config-file> or <plugin> >> directive >> >> > in >> >> > > >> > plugins.xml >> >> > > >> > >> >> > > >> > There are native-only plugins with no Javascript, too. >> >> > > >> > >> >> > > >> > Braden >> >> > > >> >> >> > > >> >> > > >> >> > >> >> >> > >
