## @file
# Core CI configuration for QemuQ35Pkg
#
# QemuQ35Pkg is part of Platform Ci for builds so this is only
# used for code analysis.
#
# Copyright (c) Microsoft Corporation
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    ## options defined .pytool/Plugin/CompilerPlugin
    "CompilerPlugin": {
        "DscPath": "" # Don't support this test
    },

    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
    "HostUnitTestCompilerPlugin": {
        "DscPath": "" # Don't support this test
    },

    ## options defined .pytool/Plugin/CharEncodingCheck
    "CharEncodingCheck": {
        "IgnoreFiles": []
    },

    ## options defined .pytool/Plugin/DependencyCheck
    "DependencyCheck": {
        "AcceptableDependencies": [
            "MdePkg/MdePkg.dec",
            "MdeModulePkg/MdeModulePkg.dec",
            "NetworkPkg/NetworkPkg.dec",
            "SecurityPkg/SecurityPkg.dec",
            "UefiCpuPkg/UefiCpuPkg.dec",
            "StandaloneMmPkg/StandaloneMmPkg.dec",
            "ShellPkg/ShellPkg.dec",
            "EmbeddedPkg/EmbeddedPkg.dec",
            "MsGraphicsPkg/MsGraphicsPkg.dec",
            "MsCorePkg/MsCorePkg.dec",
            "PcBdsPkg/PcBdsPkg.dec",
            "PolicyServicePkg/PolicyServicePkg.dec",
            "SetupDataPkg/SetupDataPkg.dec",
            "MfciPkg/MfciPkg.dec",
            "OemPkg/OemPkg.dec",
            "QemuPkg/QemuPkg.dec",
            "QemuQ35Pkg/QemuQ35Pkg.dec",
            "TpmTestingPkg/TpmTestingPkg.dec",
            "DebuggerFeaturePkg/DebuggerFeaturePkg.dec"
        ],
        # For host based unit tests
        "AcceptableDependencies-HOST_APPLICATION":[
            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
        ],
        # For UEFI shell based apps
        "AcceptableDependencies-UEFI_APPLICATION":[],
        "IgnoreInf": []
    },

    ## options defined .pytool/Plugin/DscCompleteCheck
    "DscCompleteCheck": {
        "IgnoreInf": [""],
        "DscPath": ""  # Don't support this test
    },

    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
    "HostUnitTestDscCompleteCheck": {
        "IgnoreInf": [""],
        "DscPath": "" # Don't support this test
    },

    ## options defined .pytool/Plugin/GuidCheck
    "GuidCheck": {
        "IgnoreGuidName": ["SecCore", "ResetVector"], # Expected duplication for gEfiFirmwareVolumeTopFileGuid
        "IgnoreGuidValue": [],
        "IgnoreFoldersAndFiles": [],
        "IgnoreDuplicates": [],
    },

    ## options defined .pytool/Plugin/LibraryClassCheck
    "LibraryClassCheck": {
        "IgnoreHeaderFile": []
    },

    ## options defined .pytool/Plugin/SpellCheck
    "SpellCheck": {
        "AuditOnly": True,           # Enable after fixing failures
        "IgnoreFiles": [],           # use gitignore syntax to ignore errors in matching files
        "ExtendWords": [
            "acpitable",
            "blkio",
            "bochs",
            "buildlog",
            "BOOTBLOCK",
            "decomp",
            "dispi",
            "dmdepkg",
            "dramc",
            "endmacro",
            "frontpage",
            "fvmain",
            "intune",
            "keepexceptiontable",
            "loadfile",
            "lodsb",
            "memfd",
            "memfd's",
            "noclearmem",
            "pciexbar",
            "pdecode",
            "peifv",
            "pmbase",
            "pmcntrl",
            "pnpid",
            "pusha",
            "pvscsi",
            "qemulog",
            "qemuq",
            "ramfb",
            "secfv",
            "selawik",
            "stdvga",
            "unblank",
            "vmware",
            "vring",
            "authenticode",
            "tlsset",
            "tlsget",
            "windbg",
            "imgscan",
            "bootable",
            "deadloop",
            "devicepath",
            "pciinit",
            "subrectangle"
        ],           # 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)
    },

    "UncrustifyCheck": {
        "IgnoreFiles": [
            "**/ConfigData*.h"
        ]    # Standard Plugin defined paths that should be ignored.
    }
}
