[ 
https://issues.apache.org/jira/browse/CB-4714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shazron Abdullah updated CB-4714:
---------------------------------

    Fix Version/s:     (was: 3.3.0)
                   3.4.0

> Allow removing a plugin that is a dependency (using -f or -force flag)
> ----------------------------------------------------------------------
>
>                 Key: CB-4714
>                 URL: https://issues.apache.org/jira/browse/CB-4714
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: CLI, Plugman
>    Affects Versions: 3.0.0
>         Environment: Windows 8
>            Reporter: Jonathan Bond
>            Assignee: Braden Shepherdson
>            Priority: Minor
>              Labels: patch
>             Fix For: 3.4.0
>
>         Attachments: 0001-Use-plugman-emitter-of-events.patch, 
> 0002-CB-4714-Pass-options-to-plugin-uninstall.patch
>
>
> Some context:
> I wanted to start using the mobile spec app for cordova. The problem is I 
> didn't know which dependencies were required for the application.
> So I created a plugin which just lists some dependencies: 
> https://github.com/jbondc/cordova-plugin-mobile-spec
> > cordova create test
> > cordova platform add android
> >cordova plugin list
> No plugins added. Use `cordova plugin add <plugin>`.
> >cordova plugin add https://github.com/jbondc/cordova-plugin-mobile-spec
> >cordova plugin list
> [ 'org.apache.cordova.core.battery-status',
>   'org.apache.cordova.core.camera',
>   'org.apache.cordova.core.device',
>   'org.apache.cordova.core.file',
>   'org.apache.cordova.core.media-capture',
>   'org.apache.cordova.core.mobile-spec' ]
> To test a modifications/patches to a specific plugin (media-capture), I 
> wanted to do:
> >cordova plugin rm org.apache.cordova.core.media-capture
> [Error: Another top-level plugin (org.apache.cordova.core.mobile-spec) relies 
> on plugin org.apache.cordova.core.media-capture, therefore aborting 
> uninstallation
> .]
> A lot of dependency management systems (freebsd ports, debian packages) allow 
> you to forcefully remove a dependency.
> That's what I'm proposing:
> >cordova plugin rm org.apache.cordova.core.media-capture -f
> >cordova plugin list
> [ 'org.apache.cordova.core.battery-status',
>   'org.apache.cordova.core.camera',
>   'org.apache.cordova.core.device',
>   'org.apache.cordova.core.mobile-spec' ]
> >cordova plugin add F:\Jonathan\GitHub\Cordova\cordova-plugin-media-capture
> >cordova plugin list
> [ 'org.apache.cordova.core.battery-status',
>   'org.apache.cordova.core.camera',
>   'org.apache.cordova.core.device',
>   'org.apache.cordova.core.media-capture',
>   'org.apache.cordova.core.mobile-spec' ]
> It makes it easier to add/remove a plugin even if some dependencies are not 
> met.
>  



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to