## @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",
            # 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"
        ]
    }
}
