-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
/
Copy pathPluginInterface.php
63 lines (56 loc) · 1.57 KB
/
PluginInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php declare(strict_types=1);
/*
* This file is part of Composer.
*
* (c) Nils Adermann <[email protected]>
* Jordi Boggiano <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Plugin;
use Composer\Composer;
use Composer\IO\IOInterface;
/**
* Plugin interface
*
* @author Nils Adermann <[email protected]>
*/
interface PluginInterface
{
/**
* Version number of the internal composer-plugin-api package
*
* This is used to denote the API version of Plugin specific
* features, but is also bumped to a new major if Composer
* includes a major break in internal APIs which are susceptible
* to be used by plugins.
*
* @var string
*/
public const PLUGIN_API_VERSION = '2.6.0';
/**
* Apply plugin modifications to Composer
*
* @return void
*/
public function activate(Composer $composer, IOInterface $io);
/**
* Remove any hooks from Composer
*
* This will be called when a plugin is deactivated before being
* uninstalled, but also before it gets upgraded to a new version
* so the old one can be deactivated and the new one activated.
*
* @return void
*/
public function deactivate(Composer $composer, IOInterface $io);
/**
* Prepare the plugin to be uninstalled
*
* This will be called after deactivate.
*
* @return void
*/
public function uninstall(Composer $composer, IOInterface $io);
}