## @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
##
{
    "PrEval": {
        "DscPath": "CryptoPkg.dsc",
    },
    "LicenseCheck": {
        "IgnoreFiles": [
            # These directories contain auto-generated OpenSSL content
            "Library/OpensslLib/OpensslGen"
        ]
    },
    "EccCheck": {
        ## Exception sample looks like below:
        ## "ExceptionList": [
        ##     "<ErrorID>", "<KeyWord>"
        ## ]
        "ExceptionList": [
            "8001", "IsLeap",
            "8001", "OBJ_get0_data",
            "8001", "OBJ_length",
            "5005", "X509PopCertificate"
        ],
        ## Both file path and directory path are accepted.
        "IgnoreFiles": [
            "Library/OpensslLib/openssl",
            "Library/OpensslLib/OpensslGen",
            # 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/OpensslStub",
            # 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",
            # This has Mbedtls interfaces that aren't UEFI spec compliant
            "Library/Include/stdint.h",
            "Library/Include/stubs-32.h",
            "Library/Include/inttypes.h",
            # These directories contain auto-generated OpenSSL content
            "Library/OpensslLib",
            "Library/IntrinsicLib",
            "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c",
            # mbedtls
            "Library/MbedTlsLib/mbedtls",
            # This has mbedtls interfaces that aren't UEFI spec compliant
            "Library/MbedTlsLib/EcSm2Null.c",
            "Library/MbedTlsLib/CrtWrapper.c",
            "Library/MbedTlsLib/Include/mbedtls/mbedtls_config.h",
            "Library/BaseCryptLibMbedTls/SysCall"
        ]
    },
    "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": []
    },
    "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": [
            "Library/OpensslLib/OpensslGen/include/crypto/bn_conf.h",
            "Library/OpensslLib/OpensslGen/include/crypto/dso_conf.h",
            "Library/OpensslLib/OpensslGen/include/openssl/asn1.h",
            "Library/OpensslLib/OpensslGen/include/openssl/asn1t.h",
            "Library/OpensslLib/OpensslGen/include/openssl/bio.h",
            "Library/OpensslLib/OpensslGen/include/openssl/cmp.h",
            "Library/OpensslLib/OpensslGen/include/openssl/cms.h",
            "Library/OpensslLib/OpensslGen/include/openssl/conf.h",
            "Library/OpensslLib/OpensslGen/include/openssl/configuration-ec.h",
            "Library/OpensslLib/OpensslGen/include/openssl/configuration-noec.h",
            "Library/OpensslLib/OpensslGen/include/openssl/configuration.h",
            "Library/OpensslLib/OpensslGen/include/openssl/crmf.h",
            "Library/OpensslLib/OpensslGen/include/openssl/crypto.h",
            "Library/OpensslLib/OpensslGen/include/openssl/ct.h",
            "Library/OpensslLib/OpensslGen/include/openssl/err.h",
            "Library/OpensslLib/OpensslGen/include/openssl/ess.h",
            "Library/OpensslLib/OpensslGen/include/openssl/fipskey.h",
            "Library/OpensslLib/OpensslGen/include/openssl/lhash.h",
            "Library/OpensslLib/OpensslGen/include/openssl/ocsp.h",
            "Library/OpensslLib/OpensslGen/include/openssl/opensslv.h",
            "Library/OpensslLib/OpensslGen/include/openssl/pkcs12.h",
            "Library/OpensslLib/OpensslGen/include/openssl/pkcs7.h",
            "Library/OpensslLib/OpensslGen/include/openssl/safestack.h",
            "Library/OpensslLib/OpensslGen/include/openssl/srp.h",
            "Library/OpensslLib/OpensslGen/include/openssl/ssl.h",
            "Library/OpensslLib/OpensslGen/include/openssl/ui.h",
            "Library/OpensslLib/OpensslGen/include/openssl/x509.h",
            "Library/OpensslLib/OpensslGen/include/openssl/x509v3.h",
            "Library/OpensslLib/OpensslGen/include/openssl/x509_vfy.h",
            "Library/OpensslLib/OpensslGen/providers/common/der/der_digests_gen.c",
            "Library/OpensslLib/OpensslGen/providers/common/der/der_ecx_gen.c",
            "Library/OpensslLib/OpensslGen/providers/common/der/der_ec_gen.c",
            "Library/OpensslLib/OpensslGen/providers/common/der/der_rsa_gen.c",
            "Library/OpensslLib/OpensslGen/providers/common/der/der_wrap_gen.c",
            "Library/OpensslLib/OpensslGen/providers/common/include/prov/der_digests.h",
            "Library/OpensslLib/OpensslGen/providers/common/include/prov/der_ec.h",
            "Library/OpensslLib/OpensslGen/providers/common/include/prov/der_ecx.h",
            "Library/OpensslLib/OpensslGen/providers/common/include/prov/der_rsa.h",
            "Library/OpensslLib/OpensslGen/providers/common/include/prov/der_wrap.h",
            "Library/OpensslLib/OpensslStub/uefiprov.c"
        ]
    }
}
