Skip to content

Commit 7fe3709

Browse files
committed
[TASK] Configuration not needed anymore due to installer
1 parent abf0817 commit 7fe3709

File tree

16 files changed

+97
-32
lines changed

16 files changed

+97
-32
lines changed

composer.json

+25-7
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,31 @@
8484
},
8585
"config": {
8686
"allow-plugins": {
87+
"a9f/fractor-extension-installer": true,
8788
"ergebnis/composer-normalize": true
8889
}
8990
},
9091
"extra": {
9192
"class": "a9f\\FractorExtensionInstaller\\InstallerPlugin"
9293
},
9394
"scripts": {
95+
"auto-scripts": {
96+
"fractor:installer": "a9f\\FractorMonorepo\\Composer\\Scripts\\FractorPackageInstaller::generate"
97+
},
9498
"analyze:php": "phpstan analyze",
9599
"contribute": [
96100
"@style:composer:normalize:fix",
97101
"@merge-composer-json"
98102
],
99-
"propagate": "monorepo-builder propagate",
100-
"validate-monorepo": "monorepo-builder validate",
101-
"release": "monorepo-builder release patch",
103+
"docs": [
104+
"fractor-doc-generator generate packages/typo3-fractor/rules --output-file packages/typo3-fractor/docs/typo3-fractor-rules.md",
105+
"fractor-doc-generator generate packages/fractor-composer-json/rules --output-file packages/fractor-composer-json/docs/composer-json-fractor-rules.md"
106+
],
102107
"merge-composer-json": "monorepo-builder merge",
108+
"propagate": "monorepo-builder propagate",
103109
"rectify": "rector",
104110
"rector": "rector --dry-run",
111+
"release": "monorepo-builder release patch",
105112
"style:composer:normalize": [
106113
"@composer normalize --dry-run e2e/composer.json",
107114
"@composer normalize --dry-run packages/extension-installer/composer.json",
@@ -124,12 +131,23 @@
124131
"@composer normalize --no-check-lock packages/fractor-yaml/composer.json",
125132
"@composer normalize --no-check-lock packages/typo3-fractor/composer.json"
126133
],
127-
"docs": [
128-
"fractor-doc-generator generate packages/typo3-fractor/rules --output-file packages/typo3-fractor/docs/typo3-fractor-rules.md",
129-
"fractor-doc-generator generate packages/fractor-composer-json/rules --output-file packages/fractor-composer-json/docs/composer-json-fractor-rules.md"
134+
"local:contribute": [
135+
"@rectify",
136+
"@analyze:php",
137+
"@style:php:fix",
138+
"@style:composer:normalize:fix",
139+
"@test:php"
130140
],
131141
"style:php:check": "ecs",
132142
"style:php:fix": "ecs --fix",
133-
"test:php": "phpunit"
143+
"test:php": "phpunit",
144+
"validate-monorepo": "monorepo-builder validate",
145+
"post-install-cmd": [
146+
"@auto-scripts"
147+
],
148+
"post-update-cmd": [
149+
"@auto-scripts"
150+
]
134151
}
152+
135153
}

packages/extension-installer/composer.json

-5
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@
2323
"a9f\\FractorExtensionInstaller\\Generated\\": "generated/"
2424
}
2525
},
26-
"config": {
27-
"allow-plugins": {
28-
"ergebnis/composer-normalize": true
29-
}
30-
},
3126
"extra": {
3227
"branch-alias": {
3328
"dev-main": "0.2-dev"

packages/extension-installer/src/PackagesFileGenerator.php

+15-3
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,26 @@ public function generate(): void
3737
}
3838

3939
$path = $this->installationManager->getInstallPath($package);
40+
41+
if ($path === null) {
42+
continue;
43+
}
44+
4045
$installedPackages[$package->getName()] = [
41-
'name' => $package->getName(),
4246
'path' => $path,
43-
'version' => $package->getFullPrettyVersion(),
4447
];
4548
}
49+
50+
self::write($installedPackages, $this->fileToGenerate);
51+
}
52+
53+
/**
54+
* @param array<string, array{'path': string}> $installedPackages
55+
*/
56+
public static function write(array $installedPackages, string $fileToGenerate): void
57+
{
4658
$installedPackagesCode = var_export($installedPackages, true);
4759

48-
file_put_contents($this->fileToGenerate, sprintf(self::FILE_TEMPLATE, $installedPackagesCode));
60+
file_put_contents($fileToGenerate, sprintf(self::FILE_TEMPLATE, $installedPackagesCode));
4961
}
5062
}

packages/fractor-fluid/composer.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@
4040
},
4141
"config": {
4242
"allow-plugins": {
43-
"a9f/fractor-extension-installer": true,
44-
"ergebnis/composer-normalize": true
43+
"a9f/fractor-extension-installer": true
4544
},
4645
"sort-packages": true
4746
},

packages/fractor-fluid/tests/FluidFileProcessor/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\FractorFluid\Tests\Fixtures\DummyFluidFractorRule;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../config/application.php')
109
->withRules([DummyFluidFractorRule::class]);

packages/fractor-yaml/tests/YamlFileProcessor/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\FractorYaml\Tests\Fixtures\DummyYamlFractorRule;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../config/application.php')
109
->withRules([DummyYamlFractorRule::class]);

packages/fractor/composer.json

-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@
3838
"bin/fractor"
3939
],
4040
"config": {
41-
"allow-plugins": {
42-
"ergebnis/composer-normalize": true
43-
},
4441
"sort-packages": true
4542
},
4643
"extra": {

packages/fractor/src/Testing/PHPUnit/AbstractFractorTestCase.php

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ protected function tearDown(): void
4747
// restore copied file
4848
FileSystem::rename($this->copiedFile, $this->inputFilePath);
4949
}
50+
51+
unset($this->currentContainer);
5052
}
5153

5254
public function provideConfigFilePath(): ?string

packages/fractor/tests/Configuration/AllowedFileExtensionsResolver/AllowedFileExtensionsResolverTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function test(): void
1616

1717
// Act & Assert
1818
self::assertSame(
19-
['html', 'xml', 'txt', 'yaml', 'yml'],
19+
['yaml', 'yml', 'json', 'xml', 'html', 'txt'],
2020
array_values($allowedFileExtensionsResolver->resolve())
2121
);
2222
}

packages/typo3-fractor/tests/Rules/TYPO3v10/Fluid/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\Typo3Fractor\TYPO3v10\Fluid\RemoveNoCacheHashAndUseCacheHashAttributeFractor;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../../../config/application.php')
109
->withRules([RemoveNoCacheHashAndUseCacheHashAttributeFractor::class]);

packages/typo3-fractor/tests/Rules/TYPO3v10/Yaml/EmailFinisherFractor/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\Typo3Fractor\TYPO3v10\Yaml\EmailFinisherFractor;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../../../../config/application.php')
109
->withRules([EmailFinisherFractor::class]);

packages/typo3-fractor/tests/Rules/TYPO3v10/Yaml/TranslationFileFractor/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\Typo3Fractor\TYPO3v10\Yaml\TranslationFileFractor;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../../../../config/application.php')
109
->withRules([TranslationFileFractor::class]);

packages/typo3-fractor/tests/Rules/TYPO3v12/Fluid/AbstractMessageGetSeverityFluidRector/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\Typo3Fractor\TYPO3v12\Fluid\AbstractMessageGetSeverityFluidRector;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../../../../config/application.php')
109
->withRules([AbstractMessageGetSeverityFluidRector::class]);

packages/typo3-fractor/tests/Rules/TYPO3v7/FlexForm/AddRenderTypeToFlexFormFractor/config/fractor.php

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
use a9f\Typo3Fractor\TYPO3v7\FlexForm\AddRenderTypeToFlexFormFractor;
77

88
return FractorConfiguration::configure()
9-
->import(__DIR__ . '/../../../../../../config/application.php')
109
->withRules([AddRenderTypeToFlexFormFractor::class]);

phpunit.xml

-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,4 @@
99
<testsuite name="all">
1010
<directory>packages/**/tests</directory>
1111
</testsuite>
12-
<!-- to differentiate cache directory of EasyCodingStandards in tests -->
13-
<php>
14-
<env name="TEST_SUFFIX" value="_tests"/>
15-
</php>
1612
</phpunit>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace a9f\FractorMonorepo\Composer\Scripts;
6+
7+
use a9f\FractorExtensionInstaller\PackagesFileGenerator;
8+
use Composer\Script\Event;
9+
use Nette\Utils\FileSystem;
10+
use Nette\Utils\Json;
11+
12+
final class FractorPackageInstaller
13+
{
14+
public static function generate(Event $event): void
15+
{
16+
$packagesDirectory = __DIR__ . '/../../../packages/';
17+
18+
$installedPackages = [];
19+
20+
if ($handle = opendir($packagesDirectory)) {
21+
while ($package = readdir($handle)) {
22+
$composerFile = $packagesDirectory . $package . '/composer.json';
23+
24+
if (! file_exists($composerFile)) {
25+
continue;
26+
}
27+
28+
$composerJsonContent = FileSystem::read($composerFile);
29+
30+
$composerJson = Json::decode($composerJsonContent, true);
31+
32+
if (! array_key_exists('type', $composerJson)) {
33+
continue;
34+
}
35+
36+
if ((string) $composerJson['type'] !== 'fractor-extension') {
37+
continue;
38+
}
39+
40+
$installedPackages[(string) $composerJson['name']] = [
41+
'path' => dirname($composerFile),
42+
];
43+
}
44+
45+
closedir($handle);
46+
}
47+
48+
PackagesFileGenerator::write(
49+
$installedPackages,
50+
__DIR__ . '/../../../packages/extension-installer/generated/InstalledPackages.php'
51+
);
52+
}
53+
}

0 commit comments

Comments
 (0)