1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-09 00:22:53 +00:00

Adjust the CommandProvider to use plugin capabilities and test actual command creation, refs #3377

This commit is contained in:
Jordi Boggiano 2016-04-28 20:37:34 +01:00
parent 4319435154
commit 090295dbcb
8 changed files with 92 additions and 30 deletions

View file

@ -0,0 +1,33 @@
<?php
namespace Installer;
use Composer\Plugin\Capability\CommandProvider;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Composer\Command\BaseCommand;
class CommandProvider implements CommandProvider
{
public function __construct(array $args)
{
}
public function getCommands()
{
return array(new Command);
}
}
class Command extends BaseCommand
{
protected function configure()
{
$this->setName('custom-plugin-command');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
return 5;
}
}

View file

@ -5,9 +5,9 @@ namespace Installer;
use Composer\Composer;
use Composer\IO\IOInterface;
use Composer\Plugin\PluginInterface;
use Composer\Plugin\CommandsProviderInterface;
use Composer\Plugin\Capable;
class Plugin8 implements PluginInterface, CommandsProviderInterface
class Plugin8 implements PluginInterface, Capable
{
public $version = 'installer-v8';
@ -15,8 +15,10 @@ class Plugin8 implements PluginInterface, CommandsProviderInterface
{
}
public function getCommands()
public function getCapabilities()
{
return null;
return array(
'Composer\Plugin\Capability\CommandProvider' => 'Installer\CommandProvider',
);
}
}

View file

@ -9,6 +9,6 @@
]
},
"require": {
"composer-plugin-api": "1.0.0"
"composer-plugin-api": "1.1.0"
}
}