## @file
# CI configuration for CryptoPkg
#
# Copyright (c) Microsoft Corporation
# Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    "LicenseCheck": {
        "IgnoreFiles": [
            # These directories contain auto-generated OpenSSL content
            "Library/OpensslLib/X64",
            "Library/OpensslLib/X64Gcc",
            "Library/Include/openssl"
        ]
    },
    "EccCheck": {
        ## Exception sample looks like below:
        ## "ExceptionList": [
        ##     "<ErrorID>", "<KeyWord>"
        ## ]
        "ExceptionList": [
            "8001", "IsLeap",
            "8001", "OBJ_get0_data",
            "8001", "OBJ_length"
        ],
        ## Both file path and directory path are accepted.
        "IgnoreFiles": [
            "Library/OpensslLib/openssl",
            "Library/Include/openssl",
            "Library/Include/crypto",
            # The unit testing folder is not to be checked
            "Test/UnitTest",
            # This has OpenSSL interfaces that aren't UEFI spec compliant
            "Library/BaseCryptLib/SysCall",
            # This has OpenSSL interfaces that aren't UEFI spec compliant
            "Library/OpensslLib/rand_pool.c",
            # This has OpenSSL interfaces that aren't UEFI spec compliant
            "Library/Include/CrtLibSupport.h",
            # This has OpenSSL interfaces that aren't UEFI spec compliant
            "Library/BaseCryptLib/Hash/CryptParallelHash.h",
            "Library/Include/fcntl.h",
            # These directories contain auto-generated OpenSSL content
            "Library/OpensslLib",
            "Library/IntrinsicLib",
            "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c"
        ]
    },
    "CompilerPlugin": {
        "DscPath": "CryptoPkg.dsc"
    },
    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
    "HostUnitTestCompilerPlugin": {
        "DscPath": "Test/CryptoPkgHostUnitTest.dsc"
    },
    "CharEncodingCheck": {
        "IgnoreFiles": []
    },
    "DependencyCheck": {
        "AcceptableDependencies": [
            "MdePkg/MdePkg.dec",
            "MdeModulePkg/MdeModulePkg.dec",
            "CryptoPkg/CryptoPkg.dec",
        ],
        # For host based unit tests
        "AcceptableDependencies-HOST_APPLICATION":[],
        # For UEFI shell based apps
        "AcceptableDependencies-UEFI_APPLICATION":[],
        "IgnoreInf": []
    },
    "DscCompleteCheck": {
        "DscPath": "CryptoPkg.dsc",
        "IgnoreInf": [
            # These are alternatives to OpensslLib.inf
            "CryptoPkg/Library/OpensslLib/OpensslLibX64.inf",
            "CryptoPkg/Library/OpensslLib/OpensslLibX64Gcc.inf"
        ]
    },
    "GuidCheck": {
        "IgnoreGuidName": [],
        "IgnoreGuidValue": [],
        "IgnoreFoldersAndFiles": []
    },
    "LibraryClassCheck": {
        "IgnoreHeaderFile": []
    },

    ## options defined ci/Plugin/SpellCheck
    "SpellCheck": {
        "skip": True,
        "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)
    },

    # options defined in .pytool/Plugin/UncrustifyCheck
    "UncrustifyCheck": {
        "IgnoreFiles": [
            "opensslconf.h",
            "dso_conf.h",
            "opensslconf_generated.h"
        ]
    }
}
