.pytool/Plugin: Add CI plugins

https://bugzilla.tianocore.org/show_bug.cgi?id=2315

Add .pytool directory to the edk2 repository with the
following plugins.  These plugins are in a top level
directory because that can be used with all packages
and platforms.

* CharEncodingCheck
* CompilerPlugin
* DependencyCheck
* DscCompleteCheck
* GuidCheck
* LibraryClassCheck
* SpellCheck

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Sean Brogan
2019-10-17 21:40:58 -07:00
committed by Michael D Kinney
parent de4ce46d6e
commit 9da7846c88
22 changed files with 1648 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
# Depdendency Check Plugin
A CiBuildPlugin that finds all modules (inf files) in a package and reviews the
packages used to confirm they are acceptable. This is to help enforce layering
and identify improper dependencies between packages.
## Configuration
The plugin must be configured with the acceptabe package dependencies for the
package.
``` yaml
"DependencyCheck": {
"AcceptableDependencies": [],
"AcceptableDependencies-<MODULE_TYPE>": [],
"IgnoreInf": []
}
```
### AcceptableDependencies
Package dec files that are allowed in all INFs. Example: MdePkg/MdePkg.dec
### AcceptableDependencies-<MODULE_TYPE>
OPTIONAL Package dependencies for INFs that have module type <MODULE_TYPE>.
Example: AcceptableDependencies-HOST_APPLICATION.
### IgnoreInf
OPTIONAL list of INFs to ignore for this dependency check.