You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Jonathan Bond-Caron (JIRA)" <ji...@apache.org> on 2013/11/03 17:32:19 UTC
[jira] [Updated] (CB-4714) Allow removing a plugin that is a
dependency (using -f or -force flag)
[ https://issues.apache.org/jira/browse/CB-4714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Bond-Caron updated CB-4714:
------------------------------------
Attachment: 0002-CB-4714-Pass-options-to-plugin-uninstall.patch
0001-Use-plugman-emitter-of-events.patch
Here are patches for cordova-cli.
Pull request for cordova-plugman here:
https://github.com/apache/cordova-plugman/pull/31/files
You'll notice I changed:
- require('../plugman').emit('log', 'Deleting plugin ' + id);
+ events.emit('log', 'Deleting ' + quoteId);
It seem better if cli & plugman both used the same code pattern for logging events. Might be a better way to do this.
> 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
> Labels: patch
> Fix For: 3.2.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#6144)