If the prebuild/postbuild script statement start with double quotations,
current tool report error, while DSC spec allow this usage. so update
tool to support it.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
EdkLogger.error('build', ErrorCode, File=self.MetaFile, Line=Record[-1],\r
ExtraData=ErrorInfo)\r
elif Name == TAB_DSC_PREBUILD:\r
EdkLogger.error('build', ErrorCode, File=self.MetaFile, Line=Record[-1],\r
ExtraData=ErrorInfo)\r
elif Name == TAB_DSC_PREBUILD:\r
- self._Prebuild = PathClass(NormPath(Record[2], self._Macros), GlobalData.gWorkspace)\r
+ PrebuildValue = Record[2]\r
+ if Record[2][0] == '"':\r
+ if Record[2][-1] != '"':\r
+ EdkLogger.error('build', FORMAT_INVALID, 'Missing double quotes in the end of %s statement.' % TAB_DSC_PREBUILD,\r
+ File=self.MetaFile, Line=Record[-1])\r
+ PrebuildValue = Record[2][1:-1]\r
+ self._Prebuild = PathClass(NormPath(PrebuildValue, self._Macros), GlobalData.gWorkspace)\r
elif Name == TAB_DSC_POSTBUILD:\r
elif Name == TAB_DSC_POSTBUILD:\r
- self._Postbuild = PathClass(NormPath(Record[2], self._Macros), GlobalData.gWorkspace)\r
+ PostbuildValue = Record[2]\r
+ if Record[2][0] == '"':\r
+ if Record[2][-1] != '"':\r
+ EdkLogger.error('build', FORMAT_INVALID, 'Missing double quotes in the end of %s statement.' % TAB_DSC_POSTBUILD,\r
+ File=self.MetaFile, Line=Record[-1])\r
+ PostbuildValue = Record[2][1:-1]\r
+ self._Postbuild = PathClass(NormPath(PostbuildValue, self._Macros), GlobalData.gWorkspace)\r
elif Name == TAB_DSC_DEFINES_SUPPORTED_ARCHITECTURES:\r
self._SupArchList = GetSplitValueList(Record[2], TAB_VALUE_SPLIT)\r
elif Name == TAB_DSC_DEFINES_BUILD_TARGETS:\r
elif Name == TAB_DSC_DEFINES_SUPPORTED_ARCHITECTURES:\r
self._SupArchList = GetSplitValueList(Record[2], TAB_VALUE_SPLIT)\r
elif Name == TAB_DSC_DEFINES_BUILD_TARGETS:\r