1## @file
2# CI configuration for MdePkg
3#
4# Copyright (c) Microsoft Corporation
5# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
6# SPDX-License-Identifier: BSD-2-Clause-Patent
7##
8{
9    ## options defined .pytool/Plugin/LicenseCheck
10    "LicenseCheck": {
11        "IgnoreFiles": []
12    },
13    "EccCheck": {
14        ## Exception sample looks like below:
15        ## "ExceptionList": [
16        ##     "<ErrorID>", "<KeyWord>"
17        ## ]
18        "ExceptionList": [
19        ],
20        ## Both file path and directory path are accepted.
21        "IgnoreFiles": [
22        ]
23    },
24    ## options defined ci/Plugin/CompilerPlugin
25    "CompilerPlugin": {
26        "DscPath": "MdePkg.dsc"
27    },
28
29    ## options defined ci/Plugin/HostUnitTestCompilerPlugin
30    "HostUnitTestCompilerPlugin": {
31        "DscPath": "Test/MdePkgHostTest.dsc"
32    },
33
34    ## options defined ci/Plugin/CharEncodingCheck
35    "CharEncodingCheck": {
36        "IgnoreFiles": []
37    },
38
39    ## options defined ci/Plugin/DependencyCheck
40    "DependencyCheck": {
41        "AcceptableDependencies": [
42            "MdePkg/MdePkg.dec"
43        ],
44        # For host based unit tests
45        "AcceptableDependencies-HOST_APPLICATION":[
46            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
47        ],
48        # For UEFI shell based apps
49        "AcceptableDependencies-UEFI_APPLICATION":[],
50        "IgnoreInf": []
51    },
52
53    ## options defined ci/Plugin/DscCompleteCheck
54    "DscCompleteCheck": {
55        "IgnoreInf": [""],
56        "DscPath": "MdePkg.dsc"
57    },
58
59    ## options defined ci/Plugin/HostUnitTestDscCompleteCheck
60    "HostUnitTestDscCompleteCheck": {
61        "IgnoreInf": [""],
62        "DscPath": "Test/MdePkgHostTest.dsc"
63    },
64
65    ## options defined ci/Plugin/GuidCheck
66    "GuidCheck": {
67        "IgnoreGuidName": [
68            "gEfiFirmwareVolumeTopFileGuid" # sec modules must be set to this guid
69        ],
70        "IgnoreGuidValue": ["00000000-0000-0000-0000-000000000000"],
71        "IgnoreFoldersAndFiles": [],
72        "IgnoreDuplicates": [
73            "gEfiFirmwareVolumeBlockProtocolGuid=gEfiFirmwareVolumeBlock2ProtocolGuid",
74            "gEfiMmAccessProtocolGuid=gEfiSmmAccess2ProtocolGuid",
75            "gEfiSmmCommunicationProtocolGuid=gEfiMmCommunicationProtocolGuid",
76            "gEfiMmPciRootBridgeIoProtocolGuid=gEfiSmmPciRootBridgeIoProtocolGuid",
77            "gEfiTrEEProtocolGuid=gEfiTcg2ProtocolGuid",
78            "gEfiSmmPowerButtonDispatch2ProtocolGuid=gEfiMmPowerButtonDispatchProtocolGuid",
79            "gEfiSmmBase2ProtocolGuid=gEfiMmBaseProtocolGuid",
80            "gEfiSmmUsbDispatch2ProtocolGuid=gEfiMmUsbDispatchProtocolGuid",
81            "gEfiSmmCpuProtocolGuid=gEfiMmCpuProtocolGuid",
82            "gEfiAcpiTableGuid=gEfiAcpi20TableGuid",
83            "gEfiSmmControl2ProtocolGuid=gEfiMmControlProtocolGuid",
84            "gEfiSmmStandbyButtonDispatch2ProtocolGuid=gEfiMmStandbyButtonDispatchProtocolGuid",
85            "gEfiSmmStatusCodeProtocolGuid=gEfiMmStatusCodeProtocolGuid",
86            "gEfiDxeSmmReadyToLockProtocolGuid=gEfiDxeMmReadyToLockProtocolGuid",
87            "gEfiSmmIoTrapDispatch2ProtocolGuid=gEfiMmIoTrapDispatchProtocolGuid",
88            "gEfiSmmReadyToLockProtocolGuid=gEfiMmReadyToLockProtocolGuid",
89            "gEfiSmmSxDispatch2ProtocolGuid=gEfiMmSxDispatchProtocolGuid",
90            "gEfiPeiCapsulePpiGuid=gPeiCapsulePpiGuid",
91            "gEfiSmmCpuIo2ProtocolGuid=gEfiMmCpuIoProtocolGuid",
92            "gEfiSmmRscHandlerProtocolGuid=gEfiMmRscHandlerProtocolGuid",
93            "gEfiSmmConfigurationProtocolGuid=gEfiMmConfigurationProtocolGuid",
94            "gEfiSmmGpiDispatch2ProtocolGuid=gEfiMmGpiDispatchProtocolGuid",
95            "gEfiSmmEndOfDxeProtocolGuid=gEfiMmEndOfDxeProtocolGuid",
96            "gEfiSmmSwDispatch2ProtocolGuid=gEfiMmSwDispatchProtocolGuid",
97            "gEfiDebugPortProtocolGuid=gEfiDebugPortVariableGuid=gEfiDebugPortDevicePathGuid", ## is this a bug
98            "gEfiProcessorSpecificErrorSectionGuid=gEfiIa32X64ProcessorErrorSectionGuid",  ## is this a bug
99            "gEfiSmmPeriodicTimerDispatch2ProtocolGuid=gEfiMmPeriodicTimerDispatchProtocolGuid",
100            "gEfiPeiMmAccessPpiGuid=gPeiSmmAccessPpiGuid",
101            "gPeiSmmControlPpiGuid=gEfiPeiMmControlPpiGuid"
102            ]
103    },
104
105    ## options defined ci/Plugin/LibraryClassCheck
106    "LibraryClassCheck": {
107        "IgnoreHeaderFile": []
108    },
109
110    ## options defined ci/Plugin/SpellCheck
111    "SpellCheck": {
112        "AuditOnly": True,           # Fails test but run in AuditOnly mode to collect log
113        "IgnoreFiles": [],           # use gitignore syntax to ignore errors in matching files
114        "ExtendWords": [],           # words to extend to the dictionary for this package
115        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that should be ignore
116        "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
117    }
118}
119