public function updateDrushAliases(EnvironmentsChangedEvent $event)
    {
        $projectRoot = $this->getProjectRoot();
        if (!$projectRoot) {
            return;
        }
        // Make sure the local:drush-aliases command is enabled.
        if (!$this->getApplication()->has('local:drush-aliases')) {
            return;
        }
        // Double-check that the passed project is the current one, and that it
        // still exists.
        try {
            $currentProject = $this->getCurrentProject();
            if (!$currentProject || $currentProject->id != $event->getProject()->id) {
                return;
            }
        } catch (ProjectNotFoundException $e) {
            return;
        }
        // Ignore the project if it doesn't contain a Drupal application.
        if (!Drupal::isDrupal($projectRoot)) {
            return;
        }
        /** @var \Platformsh\Cli\Service\Drush $drush */
        $drush = $this->getService('drush');
        if ($drush->getVersion() === false) {
            $this->debug('Not updating Drush aliases: the Drush version cannot be determined.');
            return;
        }
        $this->debug('Updating Drush aliases');
        try {
            $drush->createAliases($event->getProject(), $projectRoot, $event->getEnvironments());
        } catch (\Exception $e) {
            $this->stdErr->writeln(sprintf(
                "<comment>Failed to update Drush aliases:</comment>\n%s\n",
                preg_replace('/^/m', '  ', trim($e->getMessage()))
            ));
        }
    }
public function updateDrushAliases(EnvironmentsChangedEvent $event)
    {
        $projectRoot = $this->getProjectRoot();
        if (!$projectRoot) {
            return;
        }
        // Make sure the local:drush-aliases command is enabled.
        if (!$this->getApplication()->has('local:drush-aliases')) {
            return;
        }
        // Double-check that the passed project is the current one, and that it
        // still exists.
        try {
            $currentProject = $this->getCurrentProject();
            if (!$currentProject || $currentProject->id != $event->getProject()->id) {
                return;
            }
        } catch (ProjectNotFoundException $e) {
            return;
        }
        // Ignore the project if it doesn't contain a Drupal application.
        if (!Drupal::isDrupal($projectRoot)) {
            return;
        }
        /** @var \Platformsh\Cli\Service\Drush $drush */
        $drush = $this->getService('drush');
        if ($drush->getVersion() === false) {
            $this->debug('Not updating Drush aliases: the Drush version cannot be determined.');
            return;
        }
        $this->debug('Updating Drush aliases');
        try {
            $drush->createAliases($event->getProject(), $projectRoot, $event->getEnvironments());
        } catch (\Exception $e) {
            $this->stdErr->writeln(sprintf(
                "<comment>Failed to update Drush aliases:</comment>\n%s\n",
                preg_replace('/^/m', '  ', trim($e->getMessage()))
            ));
        }
    }
public function updateDrushAliases ( EnvironmentsChangedEvent $ event ) { $ projectRoot = $ this -> getProjectRoot ( ) ; if ( ! $ projectRoot ) { return ; } // Make sure the local:drush-aliases command is enabled. if ( ! $ this -> getApplication ( ) -> has ( 'local:drush-aliases' ) ) { return ; } // Double-check that the passed project is the current one, and that it // still exists. try { $ currentProject = $ this -> getCurrentProject ( ) ; if ( ! $ currentProject || $ currentProject -> id != $ event -> getProject ( ) -> id ) { return ; } } catch ( ProjectNotFoundException $ e ) { return ; } // Ignore the project if it doesn't contain a Drupal application. if ( ! Drupal :: isDrupal ( $ projectRoot ) ) { return ; } /** @var \Platformsh\Cli\Service\Drush $drush */ $ drush = $ this -> getService ( 'drush' ) ; if ( $ drush -> getVersion ( ) === false ) { $ this -> debug ( 'Not updating Drush aliases: the Drush version cannot be determined.' ) ; return ; } $ this -> debug ( 'Updating Drush aliases' ) ; try { $ drush -> createAliases ( $ event -> getProject ( ) , $ projectRoot , $ event -> getEnvironments ( ) ) ; } catch ( \ Exception $ e ) { $ this -> stdErr -> writeln ( sprintf ( "<comment>Failed to update Drush aliases:</comment>\n%s\n" , preg_replace ( '/^/m' , '  ' , trim ( $ e -> getMessage ( ) ) ) ) ) ; } }
Update the user's local Drush aliases.

This is called via the 'environments_changed' event.

@see \Platformsh\Cli\Service\Api::getEnvironments()

@param EnvironmentsChangedEvent $event
Update the user s local Drush aliases .