-
-
Notifications
You must be signed in to change notification settings - Fork 0
WikiCommand
Handles the generation of API documentation for the project.
This class MUST NOT be extended and SHALL utilize phpDocumentor to accomplish its task.
- Full name:
\FastForward\DevTools\Console\Command\WikiCommand - Parent class:
BaseCommand - This class is marked as final and can't be subclassed
- This class implements:
\FastForward\DevTools\Console\Command\LoggerAwareCommandInterface - This class is a Final class
Creates a new WikiCommand instance.
public __construct(\FastForward\DevTools\Process\ProcessBuilderInterface $processBuilder, \FastForward\DevTools\Process\ProcessQueueInterface $processQueue, \FastForward\DevTools\Composer\Json\ComposerJsonInterface $composer, \FastForward\DevTools\Filesystem\FilesystemInterface $filesystem, \FastForward\DevTools\Git\GitClientInterface $gitClient, \Psr\Log\LoggerInterface $logger): mixedParameters:
| Parameter | Type | Description |
|---|---|---|
$processBuilder |
\FastForward\DevTools\Process\ProcessBuilderInterface | |
$processQueue |
\FastForward\DevTools\Process\ProcessQueueInterface | |
$composer |
\FastForward\DevTools\Composer\Json\ComposerJsonInterface | the composer.json accessor |
$filesystem |
\FastForward\DevTools\Filesystem\FilesystemInterface | the filesystem used to inspect the wiki target |
$gitClient |
\FastForward\DevTools\Git\GitClientInterface | |
$logger |
\Psr\Log\LoggerInterface | the output-aware logger |
Configures the command instance.
protected configure(): voidThe method MUST set up the name and description. It MAY accept an optional --target option
pointing to an alternative configuration target path.
Executes the generation of the documentation files in Markdown format.
protected execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): intThis method MUST compile arguments based on PSR-4 namespaces to feed into phpDocumentor.
It SHOULD provide feedback on generation progress, and SHALL return self::SUCCESS on success.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$input |
\Symfony\Component\Console\Input\InputInterface | the input details for the command |
$output |
\Symfony\Component\Console\Output\OutputInterface | the output mechanism for logging |
Return Value:
the final execution status code
Adds the standard JSON output options to the current command.
protected addJsonOption(): staticDetermines whether JSON output was requested.
protected isJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): boolThe pretty-json flag SHALL imply JSON output.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$input |
\Symfony\Component\Console\Input\InputInterface |
Determines whether pretty JSON output was requested.
protected isPrettyJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): boolParameters:
| Parameter | Type | Description |
|---|---|---|
$input |
\Symfony\Component\Console\Input\InputInterface |
Adds the standard cache control option to the current command.
protected addCacheOption(string $description): staticParameters:
| Parameter | Type | Description |
|---|---|---|
$description |
string | the cache option description |
Adds the standard cache directory option to the current command.
protected addCacheDirOption(string $description, string $default): staticParameters:
| Parameter | Type | Description |
|---|---|---|
$description |
string | the cache directory option description |
$default |
string | the command-specific default cache directory |
Resolves whether cache writes SHOULD be enabled for the current invocation.
protected isCacheEnabled(\Symfony\Component\Console\Input\InputInterface $input, bool $default = true): boolParameters:
| 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 |
Returns the explicit cache flag that SHOULD be forwarded to nested commands.
protected resolveCacheArgument(\Symfony\Component\Console\Input\InputInterface $input): ?stringParameters:
| Parameter | Type | Description |
|---|---|---|
$input |
\Symfony\Component\Console\Input\InputInterface | the current command input |
Resolves a nested cache directory for a child command.
protected resolveCacheDirArgument(\Symfony\Component\Console\Input\InputInterface $input, string $path = ''): ?stringParameters:
| 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 |