Skip to content

Commit 51655ab

Browse files
supporting deprecated
1 parent ef3e8da commit 51655ab

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

Kununu/ArchitectureTest/DocGenerator.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,12 @@
7575
continue;
7676
}
7777
if (in_array($outerLayerOfDependency, array_keys($layersTrack), true)) {
78-
$innerDependenciesTrack[$j][$subLayer->selector->getName()] = $name;
78+
$innerDependenciesTrack[$j][$subLayer->selector->getName()] = $dependency->getName();
7979
continue;
8080
}
8181
$dependenciesTrack[$name] = $k;
82+
$trackedRelations[$j][] = $k;
83+
$k++;
8284
continue;
8385
}
8486
if (!array_key_exists($name, $dependenciesTrack)) {
@@ -97,6 +99,7 @@
9799
$content .= "}\n\n"; // End the main layer block
98100
}
99101

102+
$depricatedComponentIds = [];
100103
if (array_key_exists('deprecated', $architectureDefinition)) {
101104
foreach ($architectureDefinition['deprecated'] as $layerData) {
102105
$layer = Layer::fromArray($layerData);
@@ -107,6 +110,7 @@
107110
$nameSpaces = explode('\\', $name);
108111
$className = $nameSpaces[count($nameSpaces) - 1];
109112
$content .= " Component(\"e$number\", \"Deprecated $className\", \"$name\")\n";
113+
$depricatedComponentIds[] = $number;
110114
} else {
111115
if (str_starts_with($name, 'App')) {
112116
continue;
@@ -147,8 +151,9 @@
147151
foreach($connections as $sourceComponent => $dependency) {
148152
$nameSpaces = explode('\\', $dependency);
149153
foreach ($componentsTrack as $component => $externalNumber) {
150-
if (count($nameSpaces) < 3) {
151-
if ($component === $dependency) {
154+
if (count($nameSpaces) < 3 || count_chars($nameSpaces[2]) < 2) {
155+
$componentOuterLayer = 'App\\' . explode('\\', $component)[1];
156+
if ($componentOuterLayer === $dependency) {
152157
$trackedInnerRelations[$componentNumber][] = $externalNumber;
153158
}
154159
continue;
@@ -165,12 +170,15 @@
165170

166171
foreach($trackedRelations as $number => $externalNumbers) {
167172
foreach(array_unique($externalNumbers) as $externalNumber) {
168-
if (!in_array($externalNumber, $externalComponentsTrack, true)) {
173+
if (!in_array($externalNumber, $externalComponentsTrack, true) &&
174+
!in_array($externalNumber, $depricatedComponentIds, true)) {
169175
var_dump("Missing external Component nr $externalNumber");
170176
continue;
171177
}
172178
$relations .= "Rel(c$number, e$externalNumber, \"Can depend on\", \"DI\")\n";
173-
$relations .= "UpdateRelStyle(c$number, e$externalNumber, \$textColor=\"red\", \$offsetY=\"-40\")\n";
179+
if (in_array($externalNumber, $depricatedComponentIds, true)) {
180+
$relations .= "UpdateRelStyle(c$number, e$externalNumber, \$textColor=\"red\", \$offsetY=\"-40\")\n";
181+
}
174182
}
175183
}
176184

0 commit comments

Comments
 (0)