GrumPHP\Task\Composer::run PHP Method

run() public method

public run ( GrumPHP\Task\Context\ContextInterface $context )
$context GrumPHP\Task\Context\ContextInterface
    public function run(ContextInterface $context)
    {
        $config = $this->getConfiguration();
        $files = $context->getFiles()->path(pathinfo($config['file'], PATHINFO_DIRNAME))->name(pathinfo($config['file'], PATHINFO_BASENAME));
        if (0 === count($files)) {
            return TaskResult::createSkipped($this, $context);
        }
        $arguments = $this->processBuilder->createArgumentsForCommand('composer');
        $arguments->add('validate');
        $arguments->addOptionalArgument('--no-check-all', $config['no_check_all']);
        $arguments->addOptionalArgument('--no-check-lock', $config['no_check_lock']);
        $arguments->addOptionalArgument('--no-check-publish', $config['no_check_publish']);
        $arguments->addOptionalArgument('--with-dependencies', $config['with_dependencies']);
        $arguments->addOptionalArgument('--strict', $config['strict']);
        $arguments->addOptionalArgument('%s', $config['file']);
        $process = $this->processBuilder->buildProcess($arguments);
        $process->run();
        if (!$process->isSuccessful()) {
            return TaskResult::createFailed($this, $context, $this->formatter->format($process));
        }
        if ($config['no_local_repository'] && $this->hasLocalRepository($files->first())) {
            return TaskResult::createFailed($this, $context, 'You have at least one local repository declared.');
        }
        return TaskResult::createPassed($this, $context);
    }