for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Task;
use Mage\Runtime\Runtime;
/**
* Abstract base class for Magallanes Tasks
* @author Andrés Montañez <[email protected]>
abstract class AbstractTask
{
/** @var array<string, string|int|null> */
protected array $options = [];
protected Runtime $runtime;
* Get the Name/Code of the Task
abstract public function getName(): string;
* Get a short Description of the Task
abstract public function getDescription(): string;
* Executes the Command
abstract public function execute(): bool;
* Set additional Options for the Task
* @param array<string, string|int|null> $options
public function setOptions(array $options = []): self
$this->options = array_merge($this->getDefaults(), $options);
return $this;
}
* Set the Runtime instance
public function setRuntime(Runtime $runtime): self
$this->runtime = $runtime;
* Return Default options
* @return array<string, string|int|null>
public function getDefaults(): array
return [];