## @file
# CI configuration for PrmPkg
#
# Copyright (c) Microsoft Corporation<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
{
    "PrEval": {
        "DscPath": "PrmPkg.dsc",
    },
    ## 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)
    }
}
