## @file
# CI configuration for NetworkPkg
#
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    "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",
            "PrivateInclude/Library/RedfishCrtLib.h",
            "PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c",
            ##
            ## 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"
        ]
    },
    "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"
    }
}
