The new plugman works for me, when coupled with my CB-4077 branch of cli. I noticed that the <project-root>/plugins/<plugin-dir> directories don't get removed for dangling dependencies -- only the top-level plugin is removed from there. However, the dependents are removed from all platforms, so the uninstallation works correctly.
I'll rebase my CLI against the newly-refreshed-master-branch and force push it to github for you. Ian On Tue, Jul 9, 2013 at 10:49 PM, Ian Clelland <[email protected]> wrote: > Sounds good, Fil -- I'll take a look at the updates, and run it through > its paces here. I'll let you know right away if I find anything unusual. > > Ian > > > On Tue, Jul 9, 2013 at 5:31 PM, Filip Maj <[email protected]> wrote: > >> 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? >> >> >>> >> >> >>> >> >> > >> >> >> >> >
