|
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