Skip to content

Commit 19e35a6

Browse files
committed
TASK: Refactor away from FractoConfig
1 parent 23e07fc commit 19e35a6

20 files changed

+31
-197
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.phpunit.result.cache

.phpunit.result.cache

-1
This file was deleted.

fractor/bin/fractor.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
use a9f\Fractor\Configuration\ConfigResolver;
4-
use a9f\Fractor\DependencyInjection\ContainerBuilder;
4+
use a9f\Fractor\DependencyInjection\ContainerContainerBuilder;
55
use a9f\Fractor\FractorApplication;
66
use Symfony\Component\Console\Input\ArgvInput;
77

@@ -26,7 +26,7 @@
2626

2727
$configFile = ConfigResolver::resolveConfigsFromInput(new ArgvInput());
2828

29-
$container = (new ContainerBuilder())->createDependencyInjectionContainer($configFile);
29+
$container = (new ContainerContainerBuilder())->createDependencyInjectionContainer([$configFile]);
3030

3131
/** @var FractorApplication $application */
3232
$application = $container->get(FractorApplication::class);

fractor/config/application.php

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
use a9f\Fractor\Configuration\FractorConfig;
3+
use a9f\Fractor\Configuration\Option;
44
use a9f\Fractor\Contract\FileProcessor;
55
use a9f\Fractor\Fractor\FractorRunner;
66
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -13,8 +13,8 @@
1313

1414
return static function (ContainerConfigurator $containerConfigurator, ContainerBuilder $containerBuilder): void {
1515
$parameters = $containerConfigurator->parameters();
16-
$parameters->set(\a9f\Fractor\Configuration\Option::PATHS, []);
17-
$parameters->set(\a9f\Fractor\Configuration\Option::FILE_EXTENSIONS, []);
16+
$parameters->set(Option::PATHS, []);
17+
$parameters->set(Option::FILE_EXTENSIONS, []);
1818
$services = $containerConfigurator->services();
1919
$services->defaults()
2020
->autowire()
@@ -37,8 +37,6 @@
3737
->alias(ParameterBagInterface::class, 'parameter_bag');
3838

3939
$services->set(FractorRunner::class)->arg('$processors', tagged_iterator('fractor.file_processor'));
40-
$services->set(FractorConfig::class)
41-
->lazy();
4240

4341
$containerBuilder->registerForAutoconfiguration(FileProcessor::class)->addTag('fractor.file_processor');
4442
};

fractor/src/Command/ProcessCommand.php

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace a9f\Fractor\Command;
44

5-
use a9f\Fractor\Configuration\FractorConfig;
65
use a9f\Fractor\Factory\ConfigurationFactory;
76
use a9f\Fractor\Fractor\FractorRunner;
87
use Symfony\Component\Console\Attribute\AsCommand;

fractor/src/Configuration/FractorConfig.php

-68
This file was deleted.

fractor/src/Configuration/Option.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
declare(strict_types=1);
34

45
namespace a9f\Fractor\Configuration;
@@ -8,4 +9,4 @@ final class Option
89
public const PATHS = 'paths';
910

1011
public const FILE_EXTENSIONS = 'file_extensions';
11-
}
12+
}

fractor/src/DependencyInjection/ContainerBuilder.php fractor/src/DependencyInjection/ContainerContainerBuilder.php

+4-17
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,26 @@
22

33
namespace a9f\Fractor\DependencyInjection;
44

5-
use a9f\Fractor\Configuration\FractorConfig;
65
use a9f\Fractor\DependencyInjection\CompilerPass\CommandsCompilerPass;
76
use Symfony\Component\Config\FileLocator;
8-
use Symfony\Component\DependencyInjection\Container;
97
use Symfony\Component\DependencyInjection\ContainerInterface;
10-
use Symfony\Component\DependencyInjection\Definition;
118
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
129

13-
class ContainerBuilder
10+
class ContainerContainerBuilder
1411
{
1512
/**
1613
* @param array<int, string> $additionalConfigFiles
1714
*/
18-
public function createDependencyInjectionContainer(?string $fractorConfigFile, array $additionalConfigFiles = []): ContainerInterface
15+
public function createDependencyInjectionContainer(array $additionalConfigFiles = []): ContainerInterface
1916
{
20-
$config = new FractorConfig();
21-
22-
$definition = new Definition(FractorConfig::class);
23-
$definition->setPublic(true);
24-
$config->set(Container::class, $config);
25-
$config->set(FractorConfig::class, $config);
26-
17+
$config = new \Symfony\Component\DependencyInjection\ContainerBuilder();
2718
$fileLoader = new PhpFileLoader($config, new FileLocator(__DIR__ . '/../../config/'));
2819
$fileLoader->load('application.php');
2920

3021
$this->importExtensionConfigurations($config);
3122

3223
$config->addCompilerPass(new CommandsCompilerPass());
3324

34-
if ($fractorConfigFile !== null && is_file($fractorConfigFile)) {
35-
$config->import($fractorConfigFile);
36-
}
37-
3825
foreach ($additionalConfigFiles as $additionalConfigFile) {
3926
$fileLoader = new PhpFileLoader($config, new FileLocator(dirname($additionalConfigFile)));
4027
$fileLoader->load($additionalConfigFile);
@@ -45,7 +32,7 @@ public function createDependencyInjectionContainer(?string $fractorConfigFile, a
4532
return $config;
4633
}
4734

48-
private function importExtensionConfigurations(FractorConfig $config): void
35+
private function importExtensionConfigurations(\Symfony\Component\DependencyInjection\ContainerBuilder $config): void
4936
{
5037
if (!class_exists('a9f\\FractorExtensionInstaller\\Generated\\InstalledPackages')) {
5138
return;

fractor/src/Factory/ConfigurationFactory.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
2+
23
declare(strict_types=1);
34

45
namespace a9f\Fractor\Factory;
56

6-
use a9f\Fractor\Configuration\FractorConfig;
77
use a9f\Fractor\Configuration\Option;
88
use a9f\Fractor\ValueObject\Configuration;
99
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
@@ -21,4 +21,4 @@ public function create(): Configuration
2121
$this->parameterBag->get(Option::PATHS),
2222
);
2323
}
24-
}
24+
}

fractor/src/Fractor/FractorRunner.php

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace a9f\Fractor\Fractor;
44

5-
use a9f\Fractor\Configuration\FractorConfig;
65
use a9f\Fractor\Contract\FileProcessor;
76
use a9f\Fractor\FileSystem\FileCollector;
87
use a9f\Fractor\FileSystem\FileFinder;

fractor/src/Testing/PHPUnit/AbstractFractorTestCase.php

+2-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44

55
namespace a9f\Fractor\Testing\PHPUnit;
66

7-
use a9f\Fractor\Configuration\FractorConfig;
8-
use a9f\Fractor\DependencyInjection\ContainerBuilder;
7+
use a9f\Fractor\DependencyInjection\ContainerContainerBuilder;
98
use a9f\Fractor\Exception\ShouldNotHappenException;
109
use a9f\Fractor\Factory\ConfigurationFactory;
1110
use a9f\Fractor\FileSystem\FileCollector;
@@ -19,8 +18,6 @@ abstract class AbstractFractorTestCase extends TestCase
1918
private FractorRunner $fractorRunner;
2019
protected FileCollector $fileCollector;
2120

22-
abstract protected function provideConfigFilePath(): ?string;
23-
2421
/**
2522
* @return array<int, string>
2623
*/
@@ -38,7 +35,7 @@ protected function setUp(): void
3835

3936
protected function bootFromConfigFile(): void
4037
{
41-
$this->currentContainer = (new ContainerBuilder())->createDependencyInjectionContainer($this->provideConfigFilePath(), $this->additionalConfigurationFiles());
38+
$this->currentContainer = (new ContainerContainerBuilder())->createDependencyInjectionContainer($this->additionalConfigurationFiles());
4239
}
4340

4441
protected function doTest(): void

fractor/src/ValueObject/Configuration.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
declare(strict_types=1);
34

45
namespace a9f\Fractor\ValueObject;
@@ -28,4 +29,4 @@ public function getPaths(): array
2829
{
2930
return $this->paths;
3031
}
31-
}
32+
}

fractor/tests/Configuration/FractorConfigTest.php

-62
This file was deleted.

fractor/tests/FileSystem/FileFinderTest.php

-5
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,4 @@ public function findAllNonEmptyFilesInGivenDirectoriesWithGivenExtensions(): voi
3737
{
3838
self::assertCount(2, $this->subject->findFiles([__DIR__ . '/Fixture/DirectorToSearchIn'], ['txt', 'json']));
3939
}
40-
41-
protected function provideConfigFilePath(): ?string
42-
{
43-
return null;
44-
}
4540
}

fractor/tests/Fractor/FractorRunner/FractorRunnerTest.php

-5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@
88

99
final class FractorRunnerTest extends AbstractFractorTestCase
1010
{
11-
protected function provideConfigFilePath(): ?string
12-
{
13-
return __DIR__ . '/config/fractor.php';
14-
}
15-
1611
public function test(): void
1712
{
1813
$this->doTest();

fractor/tests/Fractor/FractorRunner/config/application.php

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
99

1010
return static function (ContainerConfigurator $containerConfigurator, ContainerBuilder $containerBuilder): void {
11+
$parameters = $containerConfigurator->parameters();
12+
$parameters->set(\a9f\Fractor\Configuration\Option::FILE_EXTENSIONS, ['txt']);
13+
$parameters->set(\a9f\Fractor\Configuration\Option::PATHS, [__DIR__ . '/../Fixture/']);
1114
$services = $containerConfigurator->services();
1215
$services->defaults()
1316
->autowire()

fractor/tests/Fractor/FractorRunner/config/fractor.php

-8
This file was deleted.

typo3-fractor/tests/Rules/FlexForm/AddRenderTypeToFlexFormFractorTest.php

+1-5
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,12 @@ public function test(): void
2121
self::assertStringEqualsFile(__DIR__ . '/Assertions/SelectWithoutRenderType.xml', $file->getContent());
2222
}
2323

24-
protected function provideConfigFilePath(): ?string
25-
{
26-
return __DIR__ . '/config/fractor.php';
27-
}
28-
2924
protected function additionalConfigurationFiles(): array
3025
{
3126
return [
3227
__DIR__ . '/../../../../fractor-xml/config/application.php',
3328
__DIR__ . '/../../../config/application.php',
29+
__DIR__ . '/config/application.php',
3430
];
3531
}
3632
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
4+
5+
return static function (ContainerConfigurator $containerConfigurator): void {
6+
$parameters = $containerConfigurator->parameters();
7+
$parameters->set(\a9f\Fractor\Configuration\Option::FILE_EXTENSIONS, ['xml']);
8+
$parameters->set(\a9f\Fractor\Configuration\Option::PATHS, [__DIR__ . '/../Fixture/']);
9+
};

0 commit comments

Comments
 (0)