[edk2] [PATCH] BaseTools: Parse DSC component !include file report error issue

Yonghong Zhu posted 1 patch 6 years, 6 months ago
Failed in applying to current master (apply log)
BaseTools/Source/Python/Workspace/MetaFileParser.py | 6 ++++++
1 file changed, 6 insertions(+)
[edk2] [PATCH] BaseTools: Parse DSC component !include file report error issue
Posted by Yonghong Zhu 6 years, 6 months ago
From: Yunhua Feng <yunhuax.feng@intel.com>

DSC format:
[Components]
  !include TestPkg/Test.dsc

if the Test.dsc have a INF, and the INF not exist, current the error message is
not clearly.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
---
 BaseTools/Source/Python/Workspace/MetaFileParser.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index f4c1868483..f74e8edbb2 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1616,10 +1616,16 @@ class DscParser(MetaFileParser):
         except Exception:
             print ValList
 
     def __ProcessComponent(self):
         self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)
+        ModuleFile = PathClass(self._ValueList[0], GlobalData.gWorkspace, Arch=self._Arch)
+        # check the file validation
+        ErrorCode, ErrorInfo = ModuleFile.Validate('.inf')
+        if ErrorCode != 0:
+            EdkLogger.error('build', ErrorCode, File=self._FileWithError.Path, Line=self._LineIndex + 1,
+                    ExtraData=ErrorInfo)
 
     def __ProcessSourceOverridePath(self):
         self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)
 
     def __ProcessBuildOption(self):
-- 
2.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel