diff --git a/src/ncc/Classes/ExecutionUnitRunner.php b/src/ncc/Classes/ExecutionUnitRunner.php index c82ce5e..6fad2e2 100644 --- a/src/ncc/Classes/ExecutionUnitRunner.php +++ b/src/ncc/Classes/ExecutionUnitRunner.php @@ -54,11 +54,11 @@ { $bin = match($unit->getExecutionPolicy()->getRunner()) { - Runners::PHP => (new ExecutableFinder())->find('php'), - Runners::BASH => (new ExecutableFinder())->find('bash'), - Runners::PYTHON => (new ExecutableFinder())->find('python'), - Runners::LUA => (new ExecutableFinder())->find('lua'), - Runners::PERL => (new ExecutableFinder())->find('perl'), + Runners::PHP->value => (new ExecutableFinder())->find('php'), + Runners::BASH->value => (new ExecutableFinder())->find('bash'), + Runners::PYTHON->value => (new ExecutableFinder())->find('python'), + Runners::LUA->value => (new ExecutableFinder())->find('lua'), + Runners::PERL->value => (new ExecutableFinder())->find('perl'), default => throw new NotSupportedException(sprintf('The execution policy %s is not supported because it uses the %s runner', $unit->getExecutionPolicy()->getName(), $unit->getExecutionPolicy()->getRunner())) }; @@ -109,8 +109,8 @@ $execution_unit = ExecutionUnit::fromArray(ZiProto::decode(IO::fread($unit_path))); return match ($execution_unit->getExecutionPolicy()->getRunner()) { - Runners::PHP => PhpRunner::executeUnit($execution_unit, $args), - Runners::BASH => BashRunner::executeUnit($execution_unit, $args), + Runners::PHP->value => PhpRunner::executeUnit($execution_unit, $args), + Runners::BASH->value => BashRunner::executeUnit($execution_unit, $args), default => throw new NotSupportedException(sprintf('The execution policy %s is not supported because it uses the %s runner', $execution_unit->getExecutionPolicy()->getName(), $execution_unit->getExecutionPolicy()->getRunner())), }; } @@ -138,8 +138,8 @@ { return match ($execution_unit->getExecutionPolicy()->getRunner()) { - Runners::PHP => PhpRunner::executeUnit($execution_unit, $args, false), - Runners::BASH => BashRunner::executeUnit($execution_unit, $args), + Runners::PHP->value => PhpRunner::executeUnit($execution_unit, $args, false), + Runners::BASH->value => BashRunner::executeUnit($execution_unit, $args), default => throw new NotSupportedException(sprintf('The execution policy %s is not supported because it uses the %s runner', $execution_unit->getExecutionPolicy()->getName(), $execution_unit->getExecutionPolicy()->getRunner())), }; } diff --git a/src/ncc/Classes/PhpExtension/PhpRunner.php b/src/ncc/Classes/PhpExtension/PhpRunner.php index a818dd0..2f127f8 100644 --- a/src/ncc/Classes/PhpExtension/PhpRunner.php +++ b/src/ncc/Classes/PhpExtension/PhpRunner.php @@ -44,7 +44,7 @@ */ public static function executeUnit(ExecutionUnit $unit, array $args=[], bool $local=true): int { - if($unit->getExecutionPolicy()->getRunner() !== Runners::PHP) + if($unit->getExecutionPolicy()->getRunner() !== Runners::PHP->value) { throw new InvalidArgumentException(sprintf('The execution unit %s is not a php execution unit', $unit->getExecutionPolicy()->getName())); } diff --git a/src/ncc/Classes/PhpExtension/Templates/CliTemplate.php b/src/ncc/Classes/PhpExtension/Templates/CliTemplate.php index cb54297..33d1e4e 100644 --- a/src/ncc/Classes/PhpExtension/Templates/CliTemplate.php +++ b/src/ncc/Classes/PhpExtension/Templates/CliTemplate.php @@ -49,7 +49,7 @@ public static function applyTemplate(ProjectManager $project_manager): void { $project_manager->getProjectConfiguration()->addExecutionPolicy( - new ExecutionPolicy('main_policy', Runners::PHP, new ExecutionPolicy\Execute('main')) + new ExecutionPolicy('main_policy', Runners::PHP->value, new ExecutionPolicy\Execute('main')) ); $project_manager->getProjectConfiguration()->getBuild()->setMain('main_policy'); diff --git a/src/ncc/Enums/Runners.php b/src/ncc/Enums/Runners.php index e5e4ec3..ac07436 100644 --- a/src/ncc/Enums/Runners.php +++ b/src/ncc/Enums/Runners.php @@ -22,25 +22,15 @@ namespace ncc\Enums; - final class Runners + enum Runners : string { - public const PHP = 'php'; + case PHP = 'php'; - public const BASH = 'bash'; + case BASH = 'bash'; - public const PYTHON = 'python'; + case PYTHON = 'python'; - public const PERL = 'perl'; + case PERL = 'perl'; - public const LUA = 'lua'; - - public const ALL = [ - self::PHP, - self::BASH, - self::PYTHON, - self::PYTHON_3, - self::PYTHON_2, - self::PERL, - self::LUA - ]; + case LUA = 'lua'; } \ No newline at end of file