CRM-16243 - Extension API - Manage extensions by path
authorTim Otten <totten@civicrm.org>
Sat, 26 Mar 2016 21:14:11 +0000 (14:14 -0700)
committerJohn Kirk <accounts@civifirst.com>
Mon, 9 Oct 2017 18:27:51 +0000 (18:27 +0000)
commit3b3f6d236263481cc682e2bd5a526fead88c4d2a
treee06d9ffa67c6fc105819dcfebfdb678b8967adb3
parent34ba82e872bd7cade9ca16072cd429ff23b2b73c
CRM-16243 - Extension API - Manage extensions by path

This allows one to enable or disable a series of extensions by path.

This should be useful, for example, when integrating with `composer` or
`drush make`. Without any knowledge of the specific extensions
involved, one might:

 * If you download a bunch of extensions to a common dir (e.g.
   composer's `vendor/`) and need to enable them all, then run
   `cv api extension.install path=$PWD/vendor/*` (circa `post-install-cmd`)
 * If you're deleting a specific directory (e.g. via composer's
   `uninstall`), then remove it gracefully from the DB by running
   `cv api extension.disable path=$PKGDIR` (circa `pre-package-uninstall`)
CRM/Extension/Mapper.php
api/v3/Extension.php
tests/phpunit/CRM/Extension/MapperTest.php