ComposerScaffoldCommand.php

Same filename and directory in other branches
  1. 9 composer/Plugin/Scaffold/ComposerScaffoldCommand.php
  2. 8.9.x composer/Plugin/Scaffold/ComposerScaffoldCommand.php
  3. 10 composer/Plugin/Scaffold/ComposerScaffoldCommand.php

Namespace

Drupal\Composer\Plugin\Scaffold

File

composer/Plugin/Scaffold/ComposerScaffoldCommand.php

View source
<?php

namespace Drupal\Composer\Plugin\Scaffold;

use Composer\Command\BaseCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

/**
 * The "drupal:scaffold" command class.
 *
 * Manually run the scaffold operation that normally happens after
 * 'composer install'.
 *
 * @internal
 */
class ComposerScaffoldCommand extends BaseCommand {
    
    /**
     * {@inheritdoc}
     */
    protected function configure() {
        $this->setName('drupal:scaffold')
            ->setAliases([
            'scaffold',
        ])
            ->setDescription('Update the Drupal scaffold files.')
            ->setHelp(<<<EOT
The <info>drupal:scaffold</info> command places the scaffold files in their
respective locations according to the layout stipulated in the composer.json
file.

<info>php composer.phar drupal:scaffold</info>

It is usually not necessary to call <info>drupal:scaffold</info> manually,
because it is called automatically as needed, e.g. after an <info>install</info>
or <info>update</info> command. Note, though, that only packages explicitly
allowed to scaffold in the top-level composer.json will be processed by this
command.

For more information, see https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold.
EOT
);
    }
    
    /**
     * {@inheritdoc}
     */
    protected function execute(InputInterface $input, OutputInterface $output) : int {
        $handler = new Handler($this->requireComposer(), $this->getIO());
        $handler->scaffold();
        return 0;
    }

}

Classes

Title Deprecated Summary
ComposerScaffoldCommand The "drupal:scaffold" command class.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.