use Symfony\Component\Console\Command\Command;
use Drupal\Console\Core\Command\Shared\CommandTrait;
use Drupal\Console\Core\Style\DrupalStyle;
+use \Drupal\Console\Core\Utils\ConfigurationManager;
/**
* Class ServerCommand
{
use CommandTrait;
+ /**
+ * @var string
+ */
protected $appRoot;
+ /**
+ * @var ConfigurationManager
+ */
protected $configurationManager;
/**
protected function execute(InputInterface $input, OutputInterface $output)
{
$io = new DrupalStyle($input, $output);
- $learning = $input->hasOption('learning')?$input->getOption('learning'):false;
$address = $this->validatePort($input->getArgument('address'));
$finder = new PhpExecutableFinder();
if (false === $binary = $finder->find()) {
$io->error($this->trans('commands.server.errors.binary'));
- return;
+ return 1;
}
$router = $this->getRouterPath();
$io->commentBlock(
sprintf(
$this->trans('commands.server.messages.listening'),
- $address
+ 'http://'.$address
)
);
if (!$process->isSuccessful()) {
$io->error($process->getErrorOutput());
+ return 1;
}
+
+ return 0;
}
/**
*/
private function getRouterPath()
{
- $router = sprintf(
- '%s/.console/router.php',
- $this->configurationManager->getHomeDirectory()
- );
-
- if (file_exists($router)) {
- return $router;
- }
-
- $router = sprintf(
- '%s/config/dist/router.php',
- $this->configurationManager->getApplicationDirectory()
- );
+ $routerPath = [
+ sprintf(
+ '%s/.console/router.php',
+ $this->configurationManager->getHomeDirectory()
+ ),
+ sprintf(
+ '%s/console/router.php',
+ $this->configurationManager->getApplicationDirectory()
+ ),
+ sprintf(
+ '%s/%s/config/dist/router.php',
+ $this->configurationManager->getApplicationDirectory(),
+ DRUPAL_CONSOLE_CORE
+ )
+ ];
- if (file_exists($router)) {
- return $router;
+ foreach ($routerPath as $router) {
+ if (file_exists($router)) {
+ return $router;
+ }
}
return null;