9 use Symfony\Component\Console\Command\Command;
    10 use Symfony\Component\Console\Input\InputInterface;
    11 use Symfony\Component\Console\Input\InputOption;
    12 use Symfony\Component\Console\Output\OutputInterface;
    14 use Symfony\Component\Console\Input\ArrayInput;
    15 use Symfony\Component\Console\Input\ArrayInputFactory;
    18 use Composer\Console\Application;
    19 use Composer\Console\ApplicationFactory;
    36     private $sampleDataDependency;
    42     private $arrayInputFactory;
    47     private $applicationFactory;
    58         ArrayInputFactory $arrayInputFactory,
    59         ApplicationFactory $applicationFactory
    62         $this->sampleDataDependency = $sampleDataDependency;
    63         $this->arrayInputFactory = $arrayInputFactory;
    64         $this->applicationFactory = $applicationFactory;
    65         parent::__construct();
    73         $this->setName(
'sampledata:remove')
    74             ->setDescription(
'Remove all sample data packages from composer.json');
    76             self::OPTION_NO_UPDATE,
    78             InputOption::VALUE_NONE,
    79             'Update composer.json without executing composer update'    87     protected function execute(InputInterface $input, OutputInterface 
$output)
    89         $sampleDataPackages = $this->sampleDataDependency->getSampleDataPackages();
    90         if (!empty($sampleDataPackages)) {
    92             $commonArgs = [
'--working-dir' => 
$baseDir, 
'--no-interaction' => 1, 
'--no-progress' => 1];
    93             if ($input->getOption(self::OPTION_NO_UPDATE)) {
    94                 $commonArgs[
'--no-update'] = 1;
    96             $packages = array_keys($sampleDataPackages);
    97             $arguments = array_merge([
'command' => 
'remove', 
'packages' => $packages], $commonArgs);
   105                 $output->writeln(
'<info>' . 
'There is an error during remove sample data.' . 
'</info>');
   108             $output->writeln(
'<info>' . 
'There is no sample data for current set of modules.' . 
'</info>');
 
__construct(Filesystem $filesystem, Dependency $sampleDataDependency, ArrayInputFactory $arrayInputFactory, ApplicationFactory $applicationFactory)