* [Patch] BaseTools: update SKUID value to support both integer and Hex number
@ 2018-01-22 5:39 Yonghong Zhu
2018-01-23 2:01 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2018-01-22 5:39 UTC (permalink / raw)
To: edk2-devel
This patch updated Skuid value to support both integer and hex value.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
BaseTools/Source/Python/Workspace/DscBuildData.py | 7 ++++---
BaseTools/Source/Python/Workspace/MetaFileParser.py | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 4a87fd1..752fe05 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -580,17 +580,18 @@ class DscBuildData(PlatformBuildClassObject):
File=self.MetaFile, Line=Record[-1])
if Record[1] in [None, '']:
EdkLogger.error('build', FORMAT_INVALID, 'No Sku ID name',
File=self.MetaFile, Line=Record[-1])
Pattern = re.compile('^[1-9]\d*|0$')
- if Pattern.match(Record[0]) == None:
- EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID number is invalid. The correct format is '{(0-9)} {(1-9)(0-9)+}'",
+ HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')
+ if Pattern.match(Record[0]) == None and HexPattern.match(Record[0]) == None:
+ EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID number is invalid. It only support Integer and HexNumber",
File=self.MetaFile, Line=Record[-1])
if not IsValidWord(Record[1]):
EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID name is invalid. The correct format is '(a-zA-Z0-9_)(a-zA-Z0-9_-.)*'",
File=self.MetaFile, Line=Record[-1])
- self._SkuIds[Record[1].upper()] = (Record[0], Record[1].upper(), Record[2].upper())
+ self._SkuIds[Record[1].upper()] = (str(self.ToInt(Record[0])), Record[1].upper(), Record[2].upper())
if 'DEFAULT' not in self._SkuIds:
self._SkuIds['DEFAULT'] = ("0","DEFAULT","DEFAULT")
if 'COMMON' not in self._SkuIds:
self._SkuIds['COMMON'] = ("0","DEFAULT","DEFAULT")
return self._SkuIds
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index b2b0e28..e236732 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1096,11 +1096,11 @@ class DscParser(MetaFileParser):
@ParseMacro
def _SkuIdParser(self):
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
if len(TokenList) not in (2,3):
- EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>[|<UiName>]'",
+ EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Number>|<UiName>[|<UiName>]'",
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
self._ValueList[0:len(TokenList)] = TokenList
@ParseMacro
def _DefaultStoresParser(self):
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] BaseTools: update SKUID value to support both integer and Hex number
2018-01-22 5:39 [Patch] BaseTools: update SKUID value to support both integer and Hex number Yonghong Zhu
@ 2018-01-23 2:01 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2018-01-23 2:01 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Yonghong Zhu
> Sent: Monday, January 22, 2018 1:40 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [Patch] BaseTools: update SKUID value to support both integer and Hex number
>
> This patch updated Skuid value to support both integer and hex value.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
> BaseTools/Source/Python/Workspace/DscBuildData.py | 7 ++++---
> BaseTools/Source/Python/Workspace/MetaFileParser.py | 2 +-
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 4a87fd1..752fe05 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -580,17 +580,18 @@ class DscBuildData(PlatformBuildClassObject):
> File=self.MetaFile, Line=Record[-1])
> if Record[1] in [None, '']:
> EdkLogger.error('build', FORMAT_INVALID, 'No Sku ID name',
> File=self.MetaFile, Line=Record[-1])
> Pattern = re.compile('^[1-9]\d*|0$')
> - if Pattern.match(Record[0]) == None:
> - EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID number is invalid. The correct format is
> '{(0-9)} {(1-9)(0-9)+}'",
> + HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')
> + if Pattern.match(Record[0]) == None and HexPattern.match(Record[0]) == None:
> + EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID number is invalid. It only support
> Integer and HexNumber",
> File=self.MetaFile, Line=Record[-1])
> if not IsValidWord(Record[1]):
> EdkLogger.error('build', FORMAT_INVALID, "The format of the Sku ID name is invalid. The correct format is
> '(a-zA-Z0-9_)(a-zA-Z0-9_-.)*'",
> File=self.MetaFile, Line=Record[-1])
> - self._SkuIds[Record[1].upper()] = (Record[0], Record[1].upper(), Record[2].upper())
> + self._SkuIds[Record[1].upper()] = (str(self.ToInt(Record[0])), Record[1].upper(), Record[2].upper())
> if 'DEFAULT' not in self._SkuIds:
> self._SkuIds['DEFAULT'] = ("0","DEFAULT","DEFAULT")
> if 'COMMON' not in self._SkuIds:
> self._SkuIds['COMMON'] = ("0","DEFAULT","DEFAULT")
> return self._SkuIds
> diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
> index b2b0e28..e236732 100644
> --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
> +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
> @@ -1096,11 +1096,11 @@ class DscParser(MetaFileParser):
>
> @ParseMacro
> def _SkuIdParser(self):
> TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
> if len(TokenList) not in (2,3):
> - EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>[|<UiName>]'",
> + EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Number>|<UiName>[|<UiName>]'",
> ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
> self._ValueList[0:len(TokenList)] = TokenList
> @ParseMacro
> def _DefaultStoresParser(self):
> TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
> --
> 2.6.1.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-01-23 1:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-22 5:39 [Patch] BaseTools: update SKUID value to support both integer and Hex number Yonghong Zhu
2018-01-23 2:01 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox