Hey Ian, I just tried cordova-cli with the new plugman, and dependency
plugins are removed for me when I uninstall the mobile-spec dependency
plugin.

Cordova-cli seems to check out, I ran through the "Working With Three"
steps with the new cli and it works good (minus the version checking,
which is still an outstanding issue).

Ian, can you check the CB-4077 branch of cli with your stuff locally? I
want to make sure things check out for you guys before I bump and deploy
the new version to npm.

On 7/10/13 7:34 AM, "Ian Clelland" <[email protected]> wrote:

>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?
>>> >> >>>
>>> >> >>>
>>> >> >
>>> >>
>>>
>>>
>>

Reply via email to