edk2/BaseTools/Source/Python/Workspace
Ray Ni d0b64b21a3 BaseTools: Dump library dependency chain on build failure
When a module M depends on L1, which depends on L2,
which depends on L3, the build fails when the library instance
of L3 cannot be found according to the library class-instance
mapping configuration specified in the DSC file.
When such failure happens, the build tool only prints that the
instance of L3 required by module M cannot be found. But it
does not tell how L3 is required by M.

The change enhances build tool to print the entire dependency
chain when such failure happens.
With the change, the new error message will be as follows:

<dsc-path>(...): error 4000: Instance of library class [L3] is not
found for module [M], [L3] is:
  consumed by <instance of L2>
    consumed by <instance of L1>

Signed-off-by: Ray Ni <ray.ni@intel.com>
2025-04-08 08:40:49 +00:00
..
__init__.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
BuildClassObject.py BaseTools: Remove Makefile/MakefileName fields 2021-09-29 14:31:37 +00:00
DecBuildData.py BaseTools: Enable the flag to treat dynamic pcd as dynamicEx 2021-07-12 07:40:07 +00:00
DscBuildData.py BaseTools: Syntax warning invalid escape sequence \C 2024-02-28 00:23:58 +00:00
InfBuildData.py BaseTools: InfBuildData: Fix Private value retrieval 2024-07-04 11:55:25 +00:00
MetaDataTable.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
MetaFileCommentParser.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
MetaFileParser.py BaseTools: Resolve regex syntax warnings 2023-12-21 00:33:31 +00:00
MetaFileTable.py BaseTools: Correct report the line number in INF file issue 2020-12-22 02:21:26 +00:00
WorkspaceCommon.py BaseTools: Dump library dependency chain on build failure 2025-04-08 08:40:49 +00:00
WorkspaceDatabase.py BaseTools: Remove the file timestamp checking during parsing 2020-07-21 04:12:32 +00:00