Jonathan Bond-Caron created CB-4714:
---------------------------------------

             Summary: 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-Caron
            Assignee: Braden Shepherdson
            Priority: Minor
             Fix For: 3.1.0


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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to