Generates and synchronizes CODEOWNERS files from local project metadata.
'github:codeowners'
'Generates .github/CODEOWNERS from local project metadata.'
['.github/CODEOWNERS', 'codeowners']
Properties
Methods
Creates a new command instance.
Adds the standard JSON output options to the current command.
{@inheritDoc}
Generates or updates the CODEOWNERS file.
Determines whether JSON output was requested.
Determines whether pretty JSON output was requested.
Logs a failed command result and returns the failure exit code.
Determines whether structured JSON output SHOULD be enabled implicitly.
Determines whether a boolean input option was enabled.
Logs a non-terminal command message unless structured JSON output is active.
Prompts for CODEOWNERS entries when metadata inference is insufficient.
Prompts whether the generated CODEOWNERS file should be written.
Logs a successful command result and returns the success exit code.
private
FileDiffer
$fileDiffer
private
FilesystemInterface
$filesystem
private
CodeOwnersGenerator
$generator
private
SymfonyStyle
$io
Creates a new command instance.
public
__construct(CodeOwnersGenerator
$generator, FilesystemInterface
$filesystem, FileDiffer
$fileDiffer, SymfonyStyle
$io) : mixed
Parameters
Description
the generator used to infer and render CODEOWNERS contents
Description
the filesystem used to read and write the target file
Description
the differ used to report managed-file drift
$io
:
SymfonyStyle
Description
the SymfonyStyle instance for interactive prompts
Adds the standard JSON output options to the current command.
protected
addJsonOption() : static
Return values
{@inheritDoc}
protected
configure() : void
Generates or updates the CODEOWNERS file.
protected
execute(InputInterface
$input, OutputInterface
$output) : int
Parameters
$input
:
InputInterface
Description
the command input
$output
:
OutputInterface
Description
the command output
Return values
Description
the command status code
Determines whether JSON output was requested.
protected
isJsonOutput(InputInterface
$input) : bool
Description
The pretty-json flag SHALL imply JSON output.
Parameters
$input
:
InputInterface
Return values
Determines whether pretty JSON output was requested.
protected
isPrettyJsonOutput(InputInterface
$input) : bool
Parameters
$input
:
InputInterface
Return values
Logs a failed command result and returns the failure exit code.
private
failure(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []][,
string|null
$file = null][,
int|null
$line = null]) : int
Parameters
$message
:
string
Description
the failure message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
$file
:
string|null
=
null
Description
the related file path when known
$line
:
int|null
=
null
Description
the related line when known
Return values
Determines whether structured JSON output SHOULD be enabled implicitly.
private
isImplicitJsonOutputEnabled() : bool
Description
Commands MAY opt into runtime-environment-aware behavior by exposing a
$runtimeEnvironment property. Commands that do not expose it SHALL fall
back to the shared runtime-environment service from the DevTools container.
Return values
Determines whether a boolean input option was enabled.
private
isOptionEnabled(InputInterface
$input,
string
$option) : bool
Parameters
$input
:
InputInterface
$option
:
string
Return values
Logs a non-terminal command message unless structured JSON output is active.
private
log(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []][,
string
$logLevel = LogLevel::INFO]) : void
Parameters
$message
:
string
Description
the progress message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
$logLevel
:
string
=
LogLevel::INFO
Description
the PSR-3 log level used for the message
Prompts for CODEOWNERS entries when metadata inference is insufficient.
private
promptForOwners() : array<int, string>
Return values
private
resolveRuntimeEnvironment() : RuntimeEnvironmentInterface|null
Return values
Prompts whether the generated CODEOWNERS file should be written.
private
shouldWriteCodeOwners(
string
$targetPath) : bool
Parameters
$targetPath
:
string
Description
the target file path
Return values
Description
true when the write SHOULD proceed
Logs a successful command result and returns the success exit code.
private
success(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []][,
string
$logLevel = LogLevel::INFO]) : int
Parameters
$message
:
string
Description
the success message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
$logLevel
:
string
=
LogLevel::INFO
Description
the PSR-3 log level used for the successful result