build-configs/src/Action/CreateFinalConfigurationData.php

27 lines
805 B
PHP
Raw Normal View History

2023-04-24 23:16:21 +00:00
<?php
declare(strict_types=1);
namespace App\Action;
use Symfony\Component\Yaml\Yaml;
final class CreateFinalConfigurationData
{
public function handle(string $configFile, \Closure $next) {
$configurationData = array_merge(
Yaml::parseFile(filename: __DIR__ . '/../../resources/build.defaults.yaml'),
Yaml::parseFile(filename: $configFile),
);
if (isset($configurationData['docker-compose'])) {
$configurationData['dockerCompose'] = $configurationData['docker-compose'];
$configurationData['docker-compose'] = null;
}
$configurationData['managedText'] = 'Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.';
return $next($configurationData);
}
}