## @file
# CI configuration for PrmPkg
#
# Copyright (c) Microsoft Corporation<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    ## options defined .pytool/Plugin/LicenseCheck
    "LicenseCheck": {
        "IgnoreFiles": []
    },

    "EccCheck": {
        ## Exception sample looks like below:
        ## "ExceptionList": [
        ##     "<ErrorID>", "<KeyWord>"
        ## ]
        "ExceptionList": [
          "5001", "PRM_HANDLER_EXPORT",
          "8006", "PRM_HANDLER_EXPORT"
        ],
        ## Both file path and directory path are accepted.
        "IgnoreFiles": [
          "Library/DxePrmContextBufferLib/UnitTest",
          "Library/DxePrmModuleDiscoveryLib/UnitTest",
          "Samples",
          "Test"
        ]
    },

    ## options defined .pytool/Plugin/CompilerPlugin
    "CompilerPlugin": {
        "DscPath": "PrmPkg.dsc"
    },

    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
    "HostUnitTestCompilerPlugin": {
        "DscPath": "Test/PrmPkgHostTest.dsc"
    },

    ## options defined .pytool/Plugin/CharEncodingCheck
    "CharEncodingCheck": {
        "IgnoreFiles": []
    },

    ## options defined .pytool/Plugin/DependencyCheck
    "DependencyCheck": {
        "AcceptableDependencies": [
            "ArmPkg/ArmPkg.dec",
            "MdeModulePkg/MdeModulePkg.dec",
            "MdePkg/MdePkg.dec",
            "PrmPkg/PrmPkg.dec",
            "ShellPkg/ShellPkg.dec",
            "UefiCpuPkg/UefiCpuPkg.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": "PrmPkg.dsc"
    },

    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
    "HostUnitTestDscCompleteCheck": {
        "IgnoreInf": [""],
        "DscPath": "Test/PrmPkgHostTest.dsc"
    },

    ## options defined .pytool/Plugin/GuidCheck
    "GuidCheck": {
        "IgnoreGuidName": [],
        "IgnoreGuidValue": [],
        "IgnoreFoldersAndFiles": [],
        "IgnoreDuplicates": [],
    },

    ## options defined .pytool/Plugin/LibraryClassCheck
    "LibraryClassCheck": {
        "IgnoreHeaderFile": []
    },

    ## options defined .pytool/Plugin/SpellCheck
    "SpellCheck": {
        "AuditOnly": False,
        "IgnoreFiles": [],          # use gitignore syntax to ignore errors
                                    # in matching files
        "ExtendWords": [            # words to extend to the dictionary for this package
          "buffe",                  # note: appears in buffer ascii dump in documentation
          "iptor",                  # note: appears in buffer ascii dump in documentation
          "keepoptionalheader",
          "odule",                  # note: appears in buffer ascii dump in documentation
          "oemid",
          "prmopreg",
          "prmpecofflib",
          "prmpkg",
          "prmssdtinstall"
        ],
        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
                                     # should be ignore
        "AdditionalIncludePaths": [] # Additional paths to spell check
                                     # (wildcards supported)
    }
}
