src/Robo/Commands/Generate/MultisiteCommand.php
public function generate($options = [
    'site-dir' => InputOption::VALUE_REQUIRED,
    'site-uri' => InputOption::VALUE_REQUIRED,
    'remote-alias' => InputOption::VALUE_REQUIRED,
  ]) {
    $this->say("This will generate a new site in the docroot/sites directory.");

    $site_name = $this->getNewSiteName($options);
    $new_site_dir = $this->getConfigValue('docroot') . '/sites/' . $site_name;

    if (file_exists($new_site_dir)) {
      throw new BltException("Cannot generate new multisite, $new_site_dir already exists!");
    }

    $domain = $this->getNewSiteDoman($options, $site_name);
    $url = parse_url($domain);
    // @todo Validate uri, ensure includes scheme.

    $newDBSettings = $this->setLocalDbConfig();
    if ($this->getInspector()->isDrupalVmConfigPresent()) {
      $this->configureDrupalVm($url, $site_name, $newDBSettings);
    }
    $default_site_dir = $this->getConfigValue('docroot') . '/sites/default';
    $this->createDefaultBltSiteYml($default_site_dir);
    $this->createSiteDrushAlias('default');
    $this->createNewSiteDir($default_site_dir, $new_site_dir);

    $remote_alias = $this->getNewSiteRemoteAlias($site_name, $options);
    $this->createNewBltSiteYml($new_site_dir, $site_name, $url, $remote_alias);
    $this->createNewSiteConfigDir($site_name);
    $this->createSiteDrushAlias($site_name);
    $this->resetMultisiteConfig();

    $this->invokeCommand('blt:init:settings');

    $this->say("New site generated at <comment>$new_site_dir</comment>");
    $this->say("Drush aliases generated:");
    if (!file_exists($default_site_dir . "/blt.yml")) {
      $this->say("  * @default.local");
    }
    $this->say("  * @$remote_alias");
    $this->say("Config directory created for new site at <comment>config/$site_name</comment>");
  }
public function generate($options = [
    'site-dir' => InputOption::VALUE_REQUIRED,
    'site-uri' => InputOption::VALUE_REQUIRED,
    'remote-alias' => InputOption::VALUE_REQUIRED,
  ]) {
    $this->say("This will generate a new site in the docroot/sites directory.");

    $site_name = $this->getNewSiteName($options);
    $new_site_dir = $this->getConfigValue('docroot') . '/sites/' . $site_name;

    if (file_exists($new_site_dir)) {
      throw new BltException("Cannot generate new multisite, $new_site_dir already exists!");
    }

    $domain = $this->getNewSiteDoman($options, $site_name);
    $url = parse_url($domain);
    // @todo Validate uri, ensure includes scheme.

    $newDBSettings = $this->setLocalDbConfig();
    if ($this->getInspector()->isDrupalVmConfigPresent()) {
      $this->configureDrupalVm($url, $site_name, $newDBSettings);
    }
    $default_site_dir = $this->getConfigValue('docroot') . '/sites/default';
    $this->createDefaultBltSiteYml($default_site_dir);
    $this->createSiteDrushAlias('default');
    $this->createNewSiteDir($default_site_dir, $new_site_dir);

    $remote_alias = $this->getNewSiteRemoteAlias($site_name, $options);
    $this->createNewBltSiteYml($new_site_dir, $site_name, $url, $remote_alias);
    $this->createNewSiteConfigDir($site_name);
    $this->createSiteDrushAlias($site_name);
    $this->resetMultisiteConfig();

    $this->invokeCommand('blt:init:settings');

    $this->say("New site generated at <comment>$new_site_dir</comment>");
    $this->say("Drush aliases generated:");
    if (!file_exists($default_site_dir . "/blt.yml")) {
      $this->say("  * @default.local");
    }
    $this->say("  * @$remote_alias");
    $this->say("Config directory created for new site at <comment>config/$site_name</comment>");
  }
public function generate ( $ options = [ 'site-dir' => InputOption :: VALUE_REQUIRED , 'site-uri' => InputOption :: VALUE_REQUIRED , 'remote-alias' => InputOption :: VALUE_REQUIRED , ] ) { $ this -> say ( "This will generate a new site in the docroot/sites directory." ) ; $ site_name = $ this -> getNewSiteName ( $ options ) ; $ new_site_dir = $ this -> getConfigValue ( 'docroot' ) . '/sites/' . $ site_name ; if ( file_exists ( $ new_site_dir ) ) { throw new BltException ( "Cannot generate new multisite, $new_site_dir already exists!" ) ; } $ domain = $ this -> getNewSiteDoman ( $ options , $ site_name ) ; $ url = parse_url ( $ domain ) ; // @todo Validate uri, ensure includes scheme. $ newDBSettings = $ this -> setLocalDbConfig ( ) ; if ( $ this -> getInspector ( ) -> isDrupalVmConfigPresent ( ) ) { $ this -> configureDrupalVm ( $ url , $ site_name , $ newDBSettings ) ; } $ default_site_dir = $ this -> getConfigValue ( 'docroot' ) . '/sites/default' ; $ this -> createDefaultBltSiteYml ( $ default_site_dir ) ; $ this -> createSiteDrushAlias ( 'default' ) ; $ this -> createNewSiteDir ( $ default_site_dir , $ new_site_dir ) ; $ remote_alias = $ this -> getNewSiteRemoteAlias ( $ site_name , $ options ) ; $ this -> createNewBltSiteYml ( $ new_site_dir , $ site_name , $ url , $ remote_alias ) ; $ this -> createNewSiteConfigDir ( $ site_name ) ; $ this -> createSiteDrushAlias ( $ site_name ) ; $ this -> resetMultisiteConfig ( ) ; $ this -> invokeCommand ( 'blt:init:settings' ) ; $ this -> say ( "New site generated at <comment>$new_site_dir</comment>" ) ; $ this -> say ( "Drush aliases generated:" ) ; if ( ! file_exists ( $ default_site_dir . "/blt.yml" ) ) { $ this -> say ( "  * @default.local" ) ; } $ this -> say ( "  * @$remote_alias" ) ; $ this -> say ( "Config directory created for new site at <comment>config/$site_name</comment>" ) ; }
Generates a new multisite.

@command recipes:multisite:init

@aliases rmi multisite
Generates a new multisite .