-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathstructarmed.php
More file actions
53 lines (48 loc) · 1.68 KB
/
Copy pathstructarmed.php
File metadata and controls
53 lines (48 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
declare(strict_types=1);
use Boundwize\StructArmed\Architecture;
use Boundwize\StructArmed\Preset\Preset;
use Boundwize\StructArmed\Preset\Presets\Psr4Preset;
use Boundwize\StructArmed\Rule\Rules\Class_\MustBeFinalRule;
return Architecture::define()
->skip([
Psr4Preset::CLASSES_MUST_MATCH_COMPOSER => [
__DIR__ . '/tests/application/database/migrations',
],
'source.must_be_final' => [
__DIR__ . '/tests/application',
],
])
->withPreset(Preset::PSR4())
->rule(
'source.must_be_final',
new MustBeFinalRule('Source'),
)
->layer('Collectors', 'src/Collectors/')
->layer('Ignore', 'src/Ignore/')
->layer('Methods', 'src/Methods/')
->layer('Parameters', 'src/Parameters/')
->layer('PhpDoc', 'src/PhpDoc/')
->layer('Properties', 'src/Properties/')
->layer('Reflection', 'src/Reflection/')
->layer('ResultCache', 'src/ResultCache/')
->layer('ReturnTypes', 'src/ReturnTypes/')
->layer('Rules', 'src/Rules/')
->layer('Schema', 'src/Schema/')
->layer('Support', 'src/Support/')
->layer('Types', 'src/Types/')
->ruleset([
'Collectors' => ['+Support'],
'Ignore' => ['+Support'],
'Methods' => ['+Support'],
'Parameters' => ['+Support'],
'PhpDoc' => ['+Types'],
'Properties' => ['+Support'],
'Reflection' => [],
'ResultCache' => ['Schema'],
'ReturnTypes' => ['+Parameters', '+Types'],
'Rules' => ['+Collectors', '+Properties'],
'Schema' => ['Support'],
'Support' => ['Methods', 'Reflection', 'Schema'],
'Types' => ['+Support'],
]);