|
31 | 31 | foreach ($files as $filename) {
|
32 | 32 | //echo "Found $filename";
|
33 | 33 | $dimensionCustom = getDimensions($filename);
|
34 |
| - $dimensionsCustom = array_merge_recursive($dimensionsCustom, $dimensionCustom); |
| 34 | + $dimensionsCustom = array_merge_recursive_ex($dimensionsCustom, $dimensionCustom); |
35 | 35 | }
|
36 | 36 | if (sizeof($files) > 0) {
|
37 | 37 | $dimensions = array_merge_recursive_ex($dimensions, $dimensionsCustom);
|
|
75 | 75 | $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"] = array();
|
76 | 76 | }
|
77 | 77 | $evidenceImplemented = array();
|
78 |
| - if (array_key_exists("evidence", $activity) && is_array($activity["evidence"]) && IS_IMPLEMENTED_WHEN_EVIDENCE) { |
79 |
| - foreach ($activity["evidence"] as $team => $evidenceForTeam) { |
80 |
| - if (strlen($activity["evidence"][$team]) > 0) { |
| 78 | + if (array_key_exists("teamsEvidence", $activity) && is_array($activity["teamsEvidence"]) && IS_IMPLEMENTED_WHEN_EVIDENCE) { |
| 79 | + foreach ($activity["teamsEvidence"] as $team => $evidenceForTeam) { |
| 80 | + if(!is_string($activity["teamsEvidence"][$team])) { |
| 81 | + echo "teamsEvidence for team $team in $activityName is not a string, ignoring"; |
| 82 | + continue; |
| 83 | + } |
| 84 | + if (strlen($activity["teamsEvidence"][$team]) > 0) { |
81 | 85 | $evidenceImplemented[$team] = true;
|
82 | 86 | } else {
|
83 | 87 | echo "Warning: '$activityName -> evidence -> $team' has no evidence set but should have";
|
84 | 88 | }
|
85 | 89 | }
|
86 | 90 | }
|
87 |
| - |
| 91 | + $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"] = |
| 92 | + array_merge( |
| 93 | + $teamsImplemented, |
| 94 | + $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"], |
| 95 | + $evidenceImplemented |
| 96 | + ); |
88 | 97 | if (!array_key_exists("openCRE", $activity["references"])) {
|
89 | 98 | $dimensionsAggregated[$dimension][$subdimension][$activityName]["references"]["openCRE"] = array();
|
90 | 99 | $dimensionsAggregated[$dimension][$subdimension][$activityName]["references"]["openCRE"][] = "https://www.opencre.org/rest/v1/standard/DevSecOps+Maturity+Model+(DSOMM)/" . $subdimension . "/" . $dimensionsAggregated[$dimension][$subdimension][$activityName]["uuid"];
|
91 | 100 | }
|
92 |
| - |
93 |
| - $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"] = array_merge($teamsImplemented, $dimensionsAggregated[$dimension][$subdimension][$activityName]["teamsImplemented"], $evidenceImplemented); |
94 |
| - // can be removed in 2024 |
| 101 | + // can be removed in 2025 |
95 | 102 | if (array_key_exists("isImplemented", $activity)) {
|
| 103 | + unset($dimensionsAggregated[$dimension][$subdimension][$activityName]["isImplemented"]); |
| 104 | + } |
| 105 | + if (array_key_exists("evidence", $activity)) { |
96 | 106 | unset($dimensionsAggregated[$dimension][$subdimension][$activityName]["evidence"]);
|
97 | 107 | }
|
98 | 108 | if (array_key_exists("dependsOn", $activity)) {
|
|
124 | 134 | resolve_json_ref($dimensionsAggregated);
|
125 | 135 |
|
126 | 136 | $dimensionsString = yaml_emit($dimensionsAggregated);
|
127 |
| -file_put_contents("src/assets/YAML/generated/generated.yaml", $dimensionsString); |
| 137 | +$targetGeneratedFile = getcwd() . "/src/assets/YAML/generated/generated.yaml"; |
| 138 | +echo "\nStoring to $targetGeneratedFile\n"; |
| 139 | +file_put_contents($targetGeneratedFile, $dimensionsString); |
128 | 140 |
|
129 | 141 |
|
130 | 142 | /**
|
|
0 commit comments