Newer
Older
use Composer\EventDispatcher\EventSubscriberInterface;
class SpipInstallerPlugin implements PluginInterface, EventSubscriberInterface, Capable
{
public function activate(Composer $composer, IOInterface $io)
{
$installer = new SpipInstaller($io, $composer);
public static function getSubscribedEvents()
{
return [
'post-create-project-cmd' => ['onCreateProject'],
'post-install-cmd' => ['onInstall'],
'post-update-cmd' => ['onUpdate'],
public function onCreateProject(Event $event): void
{
BaseDirectories::createBaseDirectories($event);
Security::copySafetyScreen($event);
}
public function onInstall(Event $event): void
{
BaseDirectories::createBaseDirectories($event, true);
Security::copySafetyScreen($event);
PluginsClearCache::clearCache($event);
AssetsClearCache::clearCache($event);
WheelsClearCache::clearCache($event);
}
public function onUpdate(Event $event): void
{
BaseDirectories::createBaseDirectories($event, true);
Security::copySafetyScreen($event);
PluginsClearCache::clearCache($event);
AssetsClearCache::clearCache($event);
WheelsClearCache::clearCache($event);
{
Security::copySafetyScreen($event);
}
public function clearCache(Event $event): void
PluginsClearCache::clearCache($event);
AssetsClearCache::clearCache($event);
WheelsClearCache::clearCache($event);
public function getCapabilities()
{
return [
\Composer\Plugin\Capability\CommandProvider::class => \SpipLeague\Composer\CommandProvider::class,