I've pushed up a CB-4077 branch of plugman up to the apache git repo. It is a few extra commits on top of yours, Ian, addressing some other issues I noticed during testing.
It looks like it is safe to merge into master, but I would like Ian and Google co. to once-over it before we merge into master. Once that¹s in plugman, we can publish a new version of it to npm, update the dependency in cordova-cli, and make sure it is in working order with the new plugman before we proceed with a cli update. Sound good? On 7/5/13 12:01 PM, "Ian Clelland" <[email protected]> wrote: >Oh, don't be sad, Brian ;) > >That's why I only pushed to my fork; looking for constructive review. > >And now I know where the cli and plugman tests are, and they shall be made >better before anything is pushed to a real repo. > > > >On Fri, Jul 5, 2013 at 2:23 PM, Brian LeRoux <[email protected]> wrote: > >> =( >> >> Should go without saying but lets not commit stuff without first >> ensuring the tests pass, eh. >> >> >> On Fri, Jul 5, 2013 at 10:05 AM, Filip Maj <[email protected]> wrote: >> > Added comments to the issue thread. The tests no longer pass + we'll >>need >> > new tests to cover your changes. >> > >> > On 7/4/13 8:21 PM, "Ian Clelland" <[email protected]> wrote: >> > >> >>Thanks, Fil, >> >> >> >>Created CB-4077 to track this. I'll start working on separating those >> >>functions. >> >> >> >>Ian >> >> >> >>On Thu, Jul 4, 2013 at 7:08 PM, Filip Maj <[email protected]> wrote: >> >> >> >>> File an issue over at issues.cordova.io, tag plugman, and we can go >> from >> >>> there >> >>> >> >>> On 7/4/13 12:59 PM, "Ian Clelland" <[email protected]> wrote: >> >>> >> >>> >This is the first time I've tried to use the CLI tools with the new >> 3.0 >> >>> >project structure, and I've discovered that I can't uninstall a >>plugin >> >>> >that >> >>> >only has dependencies (no source files, either JS or native) >> >>> > >> >>> >Specifically, I've built a mobilespec app, installing >> >>> >the mobile-spec-dependencies plugin, which does nothing but depend >>on >> >>> >every >> >>> >Cordova core plugin. I want to remove it, so that I can remove and >> >>> >reinstall one of the dependencies, but the CLI tools will not >>remove >> >>>it. >> >>> > >> >>> >Digging through cordova-cli, it looks like "cordova plugin rm" >> >>>attempts to >> >>> >invoke plugman.uninstall once per platform, but >> >>>mobile-spec-dependencies >> >>> >doesn't declare any platforms. >> >>> > >> >>> >plugman.uninstall seems to do two things, which I think should be >> >>> >separated: It removes the plugin from a specific platform, and it >> >>>removes >> >>> >the plugin from the project itself. >> >>> > >> >>> >In the case of a dependency-only plugin, we only need to do the >>second >> >>> >task >> >>> >(which currently doesn't get done). For a regular plugin which is >> >>> >installed >> >>> >in multiple platforms, this also fails, since removing the plugin >>for >> >>>the >> >>> >first platform deletes the plugin source directory, and then >>removal >> >>>for >> >>> >subsequent platforms fails with the error message "[Error: Plugin >> >>><plugin >> >>> >id> not found. Already uninstalled?]" >> >>> > >> >>> >Can anyone explain the technical reasons behind this, or should I >>work >> >>>on >> >>> >separating those functions? >> >>> >> >>> >> > >>
