protected function StaticCommand::exportPaths in Tome 8
Exports the given paths to the static directory.
Parameters
string[] $paths: An array of paths.
array $old_paths: An array of paths that have already been processed.
int $process_count: The number of processes to invoke.
int $path_count: The number of paths to export per process.
bool $show_progress: Whether or not a progress bar should be shown.
int $retry_count: The number of times to retry a failed command.
string $uri: The URI of the site, probably passed by -l or --uri.
2 calls to StaticCommand::exportPaths()
- StaticCommand::execute in modules/
tome_static/ src/ Commands/ StaticCommand.php  - StaticExportPathCommand::execute in modules/
tome_static/ src/ Commands/ StaticExportPathCommand.php  
File
- modules/
tome_static/ src/ Commands/ StaticCommand.php, line 154  
Class
- StaticCommand
 - Contains the tome:static command.
 
Namespace
Drupal\tome_static\CommandsCode
protected function exportPaths(array $paths, array $old_paths, $process_count, $path_count, $show_progress, $retry_count, $uri) {
  $paths = $this->static
    ->exportPaths($paths);
  if (empty($paths)) {
    return;
  }
  if ($this->io
    ->isVerbose()) {
    $this->io
      ->writeln('Exporting paths:');
    $this->io
      ->listing($paths);
  }
  $commands = [];
  $chunks = array_chunk($paths, $path_count);
  foreach ($chunks as $chunk) {
    $command = $this->executable . ' tome:static-export-path ' . escapeshellarg(implode(',', $chunk)) . ' --return-json --process-count=' . escapeshellarg($process_count) . ' --uri=' . escapeshellarg($uri);
    $commands[] = $command;
  }
  $show_progress && $this->io
    ->progressStart(count($paths));
  $invoke_paths = [];
  $collected_errors = $this
    ->runCommands($commands, $process_count, $retry_count, function (Process $process) use ($show_progress, &$invoke_paths, $path_count) {
    $show_progress && $this->io
      ->progressAdvance($path_count);
    $output = $process
      ->getOutput();
    if (!empty($output) && ($json = json_decode($output, TRUE))) {
      $invoke_paths = array_merge($invoke_paths, $json);
    }
  });
  $invoke_paths = array_diff($invoke_paths, $old_paths);
  $old_paths = array_merge($old_paths, $invoke_paths);
  $show_progress && $this->io
    ->progressFinish();
  if (!empty($collected_errors)) {
    $this
      ->displayErrors($collected_errors);
  }
  if (count($invoke_paths)) {
    $this->io
      ->writeln('Processing related assets and paths...');
    $this
      ->exportPaths($invoke_paths, $old_paths, $process_count, $path_count, $show_progress, $retry_count, $uri);
  }
}