/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $docroot = $this->getContainer()->getParameter('sculpin.output_dir'); $kernel = $this->getContainer()->get('kernel'); $httpServer = new HttpServer($output, $docroot, $kernel->getEnvironment(), $kernel->isDebug(), $input->getOption('port')); $httpServer->run(); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { foreach ($this->getApplication()->getMissingSculpinBundlesMessages() as $message) { $output->writeln($message); } $docroot = $this->getContainer()->getParameter('sculpin.output_dir'); if ($input->getOption('clean')) { $this->clean($input, $output, $docroot); } $watch = $input->getOption('watch') ?: false; $sculpin = $this->getContainer()->get('sculpin'); $dataSource = $this->getContainer()->get('sculpin.data_source'); $sourceSet = new SourceSet(); $config = $this->getContainer()->get('sculpin.site_configuration'); if ($url = $input->getOption('url')) { $config->set('url', $url); } $consoleIo = new ConsoleIo($input, $output, $this->getApplication()->getHelperSet()); if ($input->getOption('server')) { $sculpin->run($dataSource, $sourceSet, $consoleIo); $kernel = $this->getContainer()->get('kernel'); $httpServer = new HttpServer($output, $docroot, $kernel->getEnvironment(), $kernel->isDebug(), $input->getOption('port')); if ($watch) { $httpServer->addPeriodicTimer(1, function () use($sculpin, $dataSource, $sourceSet, $consoleIo) { clearstatcache(); $sourceSet->reset(); $sculpin->run($dataSource, $sourceSet, $consoleIo); }); } $httpServer->run(); } else { do { $sculpin->run($dataSource, $sourceSet, $consoleIo); if ($watch) { sleep(2); clearstatcache(); $sourceSet->reset(); } } while ($watch); } }