Page MenuHomePhabricator
Diviner Arcanist Tech Docs ArcanistConfiguration

class ArcanistConfiguration
Arcanist Technical Documentation ()

Runtime workflow configuration. In Arcanist, commands you type like "arc diff" or "arc lint" are called "workflows". This class allows you to add new workflows (and extend existing workflows) by subclassing it and then pointing to your subclass in your project configuration.

When specified as the arcanist_configuration class in your project's .arcconfig, your subclass will be instantiated (instead of this class) and be able to handle all the method calls. In particular, you can:

  • create, replace, or disable workflows by overriding buildWorkflow() and buildAllWorkflows();
  • add additional steps before or after workflows run by overriding willRunWorkflow() or didRunWorkflow() or didAbortWorkflow(); and
  • add new flags to existing workflows by overriding getCustomArgumentsForCommand().

Methods

public function __get($name)
Inherited

This method is not documented.
Parameters
$name
Return
wild

public function __set($name, $value)
Inherited

This method is not documented.
Parameters
$name
$value
Return
wild

public function current()
Inherited

This method is not documented.
Return
wild

public function key()
Inherited

This method is not documented.
Return
wild

public function next()
Inherited

This method is not documented.
Return
wild

public function rewind()
Inherited

This method is not documented.
Return
wild

public function valid()
Inherited

This method is not documented.
Return
wild

private function throwOnAttemptedIteration()
Inherited

This method is not documented.
Return
wild

public function getPhobjectClassConstant($key, $byte_limit)
Inherited

Phobject

Read the value of a class constant.

This is the same as just typing self::CONSTANTNAME, but throws a more useful message if the constant is not defined and allows the constant to be limited to a maximum length.

Parameters
string$keyName of the constant.
int|null$byte_limitMaximum number of bytes permitted in the value.
Return
stringValue of the constant.

public function buildWorkflow($command)

This method is not documented.
Parameters
$command
Return
wild

public function buildAllWorkflows()

This method is not documented.
Return
wild

final public function isValidWorkflow($workflow)

This method is not documented.
Parameters
$workflow
Return
wild

public function willRunWorkflow($command, $workflow)

This method is not documented.
Parameters
$command
ArcanistWorkflow$workflow
Return
wild

public function didRunWorkflow($command, $workflow, $err)

This method is not documented.
Parameters
$command
ArcanistWorkflow$workflow
$err
Return
wild

public function didAbortWorkflow($command, $workflow, $ex)

This method is not documented.
Parameters
$command
$workflow
Exception$ex
Return
wild

public function getCustomArgumentsForCommand($command)

This method is not documented.
Parameters
$command
Return
wild

final public function selectWorkflow(&$command, &$args, $configuration_manager, $console)

This method is not documented.
Parameters
&$command
array&$args
ArcanistConfigurationManager$configuration_manager
PhutilConsole$console
Return
wild

private function raiseUnknownCommand($command, $maybe)

This method is not documented.
Parameters
$command
array$maybe
Return
wild

private function expandCommandPrefix($command, $options)

This method is not documented.
Parameters
$command
array$options
Return
wild