[edk2-devel] [Patch 0/1] BaseTools/Scripts: Add package dependency graphing tool

Michael D Kinney posted 1 patch 4 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20191213194449.7036-1-michael.d.kinney@intel.com
BaseTools/Scripts/PackageDependencyGraph.py | 296 ++++++++++++++++++++
1 file changed, 296 insertions(+)
create mode 100644 BaseTools/Scripts/PackageDependencyGraph.py
[edk2-devel] [Patch 0/1] BaseTools/Scripts: Add package dependency graphing tool
Posted by Michael D Kinney 4 years, 4 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=2161

Add python script that recursively scans a directory for EDK II
packages and generates GraphViz dot input that is used to render
a graph of package dependencies in SVG format.

Detects following error/warning conditions:
* Ambiguous dependencies (multiple matches)
* Unresolved dependencies
* Circular dependencies
* Nested packages

Links to sample graphs

https://github.com/mdkinney/edk2/wiki/images/edk2.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-SkipPlatforms.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-SkipPlatformsAndArm.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-platforms.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-platforms-HideUnresolved.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-platforms-AddBinariesHideUnresolved.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/edk2-non-osi.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/FSP.svg?sanitize=true
https://github.com/mdkinney/edk2/wiki/images/all.svg?sanitize=true

This patch is available for review at the following branch:

https://github.com/mdkinney/edk2/tree/Bug_2161_PackageDependencyGraph

A proposed update to the EDK II Packages wiki page that adds details on 
package dependency rules that this tool can help to visualize and resolve
issues.

https://github.com/mdkinney/edk2/wiki/EDKII-Packages

A new wiki page with graphs from the current EDK II repos and instructions
on how to use this new script to generate the graphs.  Complex graphs can be
saved locally and viewed with an SVG viewer.

https://github.com/mdkinney/edk2/wiki/EDK-II-Package-Dependency-Graphs


Cc: Ray Ni <ray.ni@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>

Michael D Kinney (1):
  BaseTools/Scripts: Add package dependency graphing tool

 BaseTools/Scripts/PackageDependencyGraph.py | 296 ++++++++++++++++++++
 1 file changed, 296 insertions(+)
 create mode 100644 BaseTools/Scripts/PackageDependencyGraph.py

-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52211): https://edk2.groups.io/g/devel/message/52211
Mute This Topic: https://groups.io/mt/68538495/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-