#!/bin/bash
#
# Copyright (c) 2023 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Template to produce index.html for the "delta" build.

DETAIL_REPORT=""
if [ -d "./new_issues_html/by_service" ]; then
    DETAIL_REPORT="    <ul>
        <li><a href='new_issues_html/by_service.html#strictness/service/first_file&strictness{\"select\":true,\"selection\":{\"hiddenAreaKinds\":[],\"hiddenSubareaKinds\":[],\"show\":true,\"selector\":{\"enabled\":true,\"negated\":false,\"kind\":2,\"children\":[{\"enabled\":true,\"negated\":false,\"kind\":0,\"domain\":\"kind\",\"inputs\":[{\"enabled\":true,\"text\":\"violation\"}]}]}}}'>Report by issue strictness (Mandatory/Required/Advisory) (violations)</a>
        <li><a href='new_issues_html/by_service.html#strictness/service/first_file&strictness'>Report by issue strictness (Mandatory/Required/Advisory) (all)</a>
    </ul>"
fi

cat <<EOF >index.html
<html>
<body>
<h1>MISRA Delta reports for the patch</h1>

<p>
Patch: <a href="${GERRIT_CHANGE_URL}/${GERRIT_PATCHSET_NUMBER}">${GERRIT_CHANGE_URL}/${GERRIT_PATCHSET_NUMBER}</a><br />
CI Build: <a href="${BUILD_URL}">${BUILD_URL}</a>
</p>
<ul>
<li><a href="misra_delta.txt">Cumulative TXT report</a>
<li><a href="diff_output/">Per MISRA rule TXT reports</a>
<li><a href='resolved_issues_html/by_service.html#first_file/service&kind{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"kind","inputs":[{"enabled":true,"text":"information"}]},{"enabled":true,"negated":false,"kind":0,"domain":"service","inputs":[{"enabled":true,"text":"MC3R1.R5.9"}]},{"enabled":true,"negated":false,"kind":0,"domain":"service","inputs":[{"enabled":true,"text":"MC3R1.R8.3"}]}]}}}'>Resolved issues, groupped per file changed (HTML).</a>
<li> <a href='new_issues_html/by_service.html#first_file/service&kind{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"kind","inputs":[{"enabled":true,"text":"information"}]},{"enabled":true,"negated":false,"kind":0,"domain":"service","inputs":[{"enabled":true,"text":"MC3R1.R5.9"}]},{"enabled":true,"negated":false,"kind":0,"domain":"service","inputs":[{"enabled":true,"text":"MC3R1.R8.3"}]}]}}}'>New issues, groupped per file changed (HTML).</a>
${DETAIL_REPORT}
</ul>
</body>
</html>
EOF
