Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-4714

Allow removing a plugin that is a dependency (using -f or -force flag)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 3.0.0
    • None
    • Windows 8

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              jbondc Jonathan Bond
              jbondc Jonathan Bond
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: