You are here

class MessagePlugin in Drupal 10

Same name and namespace in other branches
  1. 8 composer/Plugin/ProjectMessage/MessagePlugin.php \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin
  2. 9 composer/Plugin/ProjectMessage/MessagePlugin.php \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin

A Composer plugin to display a message after creating a project.

@internal

Hierarchy

  • class \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin implements \Composer\Plugin\PluginInterface, \Composer\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of MessagePlugin

File

composer/Plugin/ProjectMessage/MessagePlugin.php, line 17

Namespace

Drupal\Composer\Plugin\ProjectMessage
View source
class MessagePlugin implements PluginInterface, EventSubscriberInterface {

  /**
   * Composer object.
   *
   * @var \Composer\Composer
   */
  protected $composer;

  /**
   * IO object.
   *
   * @var \Composer\IO\IOInterface
   */
  protected $io;

  /**
   * Configuration.
   *
   * @var \Drupal\Composer\Plugin\VendorHardening\Config
   */
  protected $config;

  /**
   * {@inheritdoc}
   */
  public function activate(Composer $composer, IOInterface $io) {
    $this->composer = $composer;
    $this->io = $io;
  }

  /**
   * {@inheritdoc}
   */
  public function deactivate(Composer $composer, IOInterface $io) {
  }

  /**
   * {@inheritdoc}
   */
  public function uninstall(Composer $composer, IOInterface $io) {
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      ScriptEvents::POST_CREATE_PROJECT_CMD => 'displayPostCreateMessage',
      ScriptEvents::POST_INSTALL_CMD => 'displayPostCreateMessage',
    ];
  }
  public function displayPostCreateMessage(Event $event) {
    $message = new Message($this->composer
      ->getPackage(), $event
      ->getName());
    if ($message = $message
      ->getText()) {
      $this->io
        ->write($message);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MessagePlugin::$composer protected property Composer object.
MessagePlugin::$config protected property Configuration.
MessagePlugin::$io protected property IO object.
MessagePlugin::activate public function
MessagePlugin::deactivate public function
MessagePlugin::displayPostCreateMessage public function
MessagePlugin::getSubscribedEvents public static function
MessagePlugin::uninstall public function