Skip to content

ReportsCommand

github-actions edited this page Apr 24, 2026 · 1 revision

Coordinates the generation of Fast Forward documentation frontpage and related reports.

This class MUST NOT be overridden and SHALL securely combine docs and testing commands.


Methods

__construct

Initializes the command with required dependencies.

public __construct(\FastForward\DevTools\Process\ProcessBuilderInterface $processBuilder, \FastForward\DevTools\Process\ProcessQueueInterface $processQueue, \Psr\Log\LoggerInterface $logger): mixed

Parameters:

Parameter Type Description
$processBuilder \FastForward\DevTools\Process\ProcessBuilderInterface the builder instance used to construct execution processes
$processQueue \FastForward\DevTools\Process\ProcessQueueInterface the execution queue mechanism for running sub-processes
$logger \Psr\Log\LoggerInterface the output-aware logger

configure

protected configure(): void

execute

Executes the generation logic for diverse reports.

protected execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): int

The method MUST run the underlying docs and tests commands. It SHALL process and generate the frontpage output file successfully.

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the structured inputs holding specific arguments
$output \Symfony\Component\Console\Output\OutputInterface the designated output interface

Return Value:

the integer outcome from the base process execution


Inherited methods

addJsonOption

Adds the standard JSON output options to the current command.

protected addJsonOption(): static

isJsonOutput

Determines whether JSON output was requested.

protected isJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): bool

The pretty-json flag SHALL imply JSON output.

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface

isPrettyJsonOutput

Determines whether pretty JSON output was requested.

protected isPrettyJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): bool

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface

addCacheOption

Adds the standard cache control option to the current command.

protected addCacheOption(string $description): static

Parameters:

Parameter Type Description
$description string the cache option description

addCacheDirOption

Adds the standard cache directory option to the current command.

protected addCacheDirOption(string $description, string $default): static

Parameters:

Parameter Type Description
$description string the cache directory option description
$default string the command-specific default cache directory

isCacheEnabled

Resolves whether cache writes SHOULD be enabled for the current invocation.

protected isCacheEnabled(\Symfony\Component\Console\Input\InputInterface $input, bool $default = true): bool

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input
$default bool the command-specific default cache behavior when the option is omitted

resolveCacheArgument

Returns the explicit cache flag that SHOULD be forwarded to nested commands.

protected resolveCacheArgument(\Symfony\Component\Console\Input\InputInterface $input): ?string

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input

resolveCacheDirArgument

Resolves a nested cache directory for a child command.

protected resolveCacheDirArgument(\Symfony\Component\Console\Input\InputInterface $input, string $path = ''): ?string

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input
$path string the child cache path relative to the current command cache root

Clone this wiki locally