## @file
# CI configuration for NetworkPkg
#
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    "PrEval": {
        "DscPath": "RedfishPkg.dsc",
    },
    "LicenseCheck": {
        "IgnoreFiles": []
    },
    "EccCheck": {
        ## Exception sample looks like below:
        ## "ExceptionList": [
        ##     "<ErrorID>", "<KeyWord>"
        ## ]
        "ExceptionList": [
        ],
        ## Both file path and directory path are accepted.
        "IgnoreFiles": [
            ## Below are files incorporated with open source which are
            ## not edk2 coding standard compliant.
            ##
            ## EDK2 CRT library which is not edk2 coding
            ## standard compliant.
            ## C runtime library for RedfishPkg modules
            "PrivateInclude/Crt/sys",
            "PrivateInclude/Crt/assert.h",
            "PrivateInclude/Crt/errno.h",
            "PrivateInclude/Crt/limits.h",
            "PrivateInclude/Crt/math.h",
            "PrivateInclude/Crt/stdarg.h",
            "PrivateInclude/Crt/stddef.h",
            "PrivateInclude/Crt/stdio.h",
            "PrivateInclude/Crt/stdlib.h",
            "PrivateInclude/Crt/string.h",
            "PrivateInclude/Crt/time.h",
            "PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c",
            "PrivateLibrary/RedfishCrtLib/Ia32/MathFtol.c",
            "Include/Library/RedfishCrtLib.h",
            ##
            ## For jansson library open source
            ## load.c is overrided from open source.
            "Library/JsonLib/load.c",
            "Library/JsonLib/jansson_config.h",
            "Library/JsonLib/jansson_private_config.h",
            ##
            ## For libredfish open source
            ## The files under edk2libredfish are cloned
            ## from DMTF open source
            "PrivateLibrary/RedfishLib/edk2libredfish/include/redfish.h",
            "PrivateLibrary/RedfishLib/edk2libredfish/include/redfishPayload.h",
            "PrivateLibrary/RedfishLib/edk2libredfish/include/redfishService.h",
            "PrivateLibrary/RedfishLib/edk2libredfish/include/redpath.h",
            "PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c",
            "PrivateLibrary/RedfishLib/edk2libredfish/src/redpath.c",
            "PrivateLibrary/RedfishLib/edk2libredfish/src/service.c"
        ]
    },
    "CompilerPlugin": {
        "DscPath": "RedfishPkg.dsc"
    },
    "CharEncodingCheck": {
        "IgnoreFiles": []
    },
    "DependencyCheck": {
        "AcceptableDependencies": [
            "MdePkg/MdePkg.dec",
            "MdeModulePkg/MdeModulePkg.dec",
            "NetworkPkg/NetworkPkg.dec",
            "RedfishPkg/RedfishPkg.dec"
        ],
        # For host based unit tests
        "AcceptableDependencies-HOST_APPLICATION":[],
        # For UEFI shell based apps
        "AcceptableDependencies-UEFI_APPLICATION":[
            "ShellPkg/ShellPkg.dec"
        ],
        "IgnoreInf": []
    },
    "DscCompleteCheck": {
        "DscPath": "RedfishPkg.dsc",
        "IgnoreInf": []
    },
    "GuidCheck": {
        "IgnoreGuidName": [],
        "IgnoreGuidValue": [],
        "IgnoreFoldersAndFiles": []
    },
    "LibraryClassCheck": {
        "IgnoreHeaderFile": []
    },

    ## options defined ci/Plugin/SpellCheck
    "SpellCheck": {
        "AuditOnly": True,           # Fails test but run in AuditOnly mode to collect log
        "IgnoreFiles": [],           # use gitignore syntax to ignore errors in matching files
        "ExtendWords": [],           # words to extend to the dictionary for this package
        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that should be ignore
        "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
    },

    "Defines": {
        "BLD_*_CONTINUOUS_INTEGRATION": "TRUE",
        "BLD_*_REDFISH_ENABLE": "TRUE"
    }
}
