diff --git a/edk2toollib/uefi/edk2/parsers/buildreport_parser.py b/edk2toollib/uefi/edk2/parsers/buildreport_parser.py index 7084bb35..ab1151a8 100644 --- a/edk2toollib/uefi/edk2/parsers/buildreport_parser.py +++ b/edk2toollib/uefi/edk2/parsers/buildreport_parser.py @@ -48,6 +48,7 @@ def Parse(self): inPcdSection = False inLibSection = False inDepSection = False + inOverallDepex = False nextLineSection = False tokenspace = "" @@ -81,6 +82,11 @@ def Parse(self): elif (line == "Final Dependency Expression (DEPEX) Instructions"): inDepSection = True i += 1 # add additional line to skip the dashed line + elif (line == "Dependency Expression (DEPEX) from INF"): + # For some reason, "Final Dependency Expression (DEPEX) Instructions" does not exist + # For all modules, so we need to check for this as well. + inDepSection = True + inOverallDepex = True else: logging.debug("Unsupported Section: " + line) inPcdSection = False @@ -141,8 +147,13 @@ def Parse(self): line += self._RawContent[i].rstrip() elif (inDepSection): - pass - # not implemented right now + if line == "Dependency Expression (DEPEX) from INF": + inOverallDepex = True + elif line.startswith("-----"): + inOverallDepex = False + + elif inOverallDepex: + self.Depex += " " + line else: # not in section...Must be header section