]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Parser / InfAsBuiltProcess.py
index 6bf070be41912bea10397da20f7820333b236cfd..992b609120f88baa647250c1df013679b61a3462 100644 (file)
@@ -1,15 +1,9 @@
 ## @file\r
 # This file is used to provide method for process AsBuilt INF file. It will consumed by InfParser\r
 #\r
-# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
-# This program and the accompanying materials are licensed and made available \r
-# under the terms and conditions of the BSD License which accompanies this \r
-# distribution. The full text of the license may be found at \r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
 '''\r
 InfAsBuiltProcess\r
 '''\r
@@ -19,12 +13,11 @@ InfAsBuiltProcess
 import os\r
 import re\r
 from Library import GlobalData\r
-\r
 import Logger.Log as Logger\r
 from Logger import StringTable as ST\r
 from Logger import ToolError\r
 \r
-from Library.String import GetSplitValueList\r
+from Library.StringUtils import GetSplitValueList\r
 from Library.Misc import GetHelpStringByRemoveHashKey\r
 from Library.Misc import ValidFile\r
 from Library.Misc import ProcessLineExtender\r
@@ -47,7 +40,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo, CurrentInfFileName):
     FileGuidString = ""\r
     VerString = ""\r
 \r
-    OrignalString = String\r
+    OriginalString = String\r
     String = String.strip()\r
     if not String:\r
         return None, None\r
@@ -74,12 +67,12 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo, CurrentInfFileName):
         if VersionMatchedObj:\r
             Guid = GuidMatchedObj.group().strip()\r
             Version = VersionMatchedObj.group().strip()\r
-            return GetGuidVerFormLibInstance(Guid, Version, WorkSpace, CurrentInfFileName)\r
+            return Guid, Version\r
 \r
     #\r
     # To deal with library instance specified by file name\r
     #\r
-    FileLinesList = GetFileLineContent(String, WorkSpace, LineNo, OrignalString)\r
+    FileLinesList = GetFileLineContent(String, WorkSpace, LineNo, OriginalString)\r
 \r
 \r
     ReFindFileGuidPattern = re.compile("^\s*FILE_GUID\s*=.*$")\r
@@ -106,47 +99,47 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo, CurrentInfFileName):
 # @param WorkSpace. The WorkSpace directory used to combined with INF file path.\r
 #\r
 # @return GUID, Version\r
-def GetPackageListInfo(FileNameString, WorkSpace, LineNo): \r
+def GetPackageListInfo(FileNameString, WorkSpace, LineNo):\r
     PackageInfoList = []\r
     DefineSectionMacros = {}\r
     PackageSectionMacros = {}\r
-    \r
+\r
     FileLinesList = GetFileLineContent(FileNameString, WorkSpace, LineNo, '')\r
-    \r
+\r
     RePackageHeader = re.compile('^\s*\[Packages.*\].*$')\r
     ReDefineHeader = re.compile('^\s*\[Defines].*$')\r
-    \r
+\r
     PackageHederFlag = False\r
     DefineHeaderFlag = False\r
     LineNo = -1\r
     for Line in FileLinesList:\r
         LineNo += 1\r
         Line = Line.strip()\r
-        \r
+\r
         if Line.startswith('['):\r
             PackageHederFlag = False\r
-            DefineHeaderFlag = False            \r
-        \r
+            DefineHeaderFlag = False\r
+\r
         if Line.startswith("#"):\r
             continue\r
-        \r
+\r
         if not Line:\r
-            continue        \r
-        \r
+            continue\r
+\r
         #\r
-        # Found [Packages] section \r
+        # Found [Packages] section\r
         #\r
         if RePackageHeader.match(Line):\r
             PackageHederFlag = True\r
             continue\r
-        \r
+\r
         #\r
         # Found [Define] section\r
         #\r
         if ReDefineHeader.match(Line):\r
             DefineHeaderFlag = True\r
             continue\r
-        \r
+\r
         if DefineHeaderFlag:\r
             #\r
             # Find Macro\r
@@ -154,12 +147,12 @@ def GetPackageListInfo(FileNameString, WorkSpace, LineNo):
             Name, Value = MacroParser((Line, LineNo),\r
                                       FileNameString,\r
                                       DT.MODEL_META_DATA_HEADER,\r
-                                      DefineSectionMacros) \r
-                       \r
-            if Name != None:\r
-                DefineSectionMacros[Name] = Value               \r
+                                      DefineSectionMacros)\r
+\r
+            if Name is not None:\r
+                DefineSectionMacros[Name] = Value\r
                 continue\r
-            \r
+\r
         if PackageHederFlag:\r
 \r
             #\r
@@ -169,23 +162,23 @@ def GetPackageListInfo(FileNameString, WorkSpace, LineNo):
                                       FileNameString,\r
                                       DT.MODEL_META_DATA_PACKAGE,\r
                                       DefineSectionMacros)\r
-            if Name != None:\r
-                PackageSectionMacros[Name] = Value               \r
+            if Name is not None:\r
+                PackageSectionMacros[Name] = Value\r
                 continue\r
-            \r
+\r
             #\r
             # Replace with Local section Macro and [Defines] section Macro.\r
-            #            \r
+            #\r
             Line = InfExpandMacro(Line, (FileNameString, Line, LineNo), DefineSectionMacros, PackageSectionMacros, True)\r
-            \r
+\r
             Line = GetSplitValueList(Line, "#", 1)[0]\r
             Line = GetSplitValueList(Line, "|", 1)[0]\r
             PackageInfoList.append(Line)\r
-     \r
-    return PackageInfoList    \r
-    \r
+\r
+    return PackageInfoList\r
+\r
 def GetFileLineContent(FileName, WorkSpace, LineNo, OriginalString):\r
-    \r
+\r
     if not LineNo:\r
         LineNo = -1\r
 \r
@@ -194,29 +187,19 @@ def GetFileLineContent(FileName, WorkSpace, LineNo, OriginalString):
     #\r
     FullFileName = os.path.normpath(os.path.realpath(os.path.join(WorkSpace, FileName)))\r
     if not (ValidFile(FullFileName)):\r
-        Logger.Error("InfParser", \r
-                     ToolError.FORMAT_INVALID,\r
-                     ST.ERR_FILELIST_EXIST%(FileName),\r
-                     File=GlobalData.gINF_MODULE_NAME,\r
-                     Line=LineNo, \r
-                     ExtraData=OriginalString)\r
-    \r
+        return []\r
+\r
     #\r
     # Validate file exist/format.\r
     #\r
     if not IsValidPath(FileName, WorkSpace):\r
-        Logger.Error("InfParser", \r
-                     ToolError.FORMAT_INVALID,\r
-                     ST.ERR_INF_PARSER_FILE_NOT_EXIST_OR_NAME_INVALID%(FileName),\r
-                     File=GlobalData.gINF_MODULE_NAME, \r
-                     Line=LineNo, \r
-                     ExtraData=OriginalString)\r
-    \r
+        return []\r
+\r
     FileLinesList = []\r
-    \r
+\r
     try:\r
         FullFileName = FullFileName.replace('\\', '/')\r
-        Inputfile = open(FullFileName, "rb", 0)\r
+        Inputfile = open(FullFileName, "r")\r
         try:\r
             FileLinesList = Inputfile.readlines()\r
         except BaseException:\r
@@ -228,9 +211,9 @@ def GetFileLineContent(FileName, WorkSpace, LineNo, OriginalString):
                      ToolError.FILE_READ_FAILURE,\r
                      ST.ERR_FILE_OPEN_FAILURE,\r
                      File=FullFileName)\r
-    \r
+\r
     FileLinesList = ProcessLineExtender(FileLinesList)\r
-    \r
+\r
     return FileLinesList\r
 \r
 ##\r
@@ -258,7 +241,7 @@ def GetGuidVerFormLibInstance(Guid, Version, WorkSpace, CurrentInfFileName):
                 continue\r
             InfFile = InfFile.replace('\\', '/')\r
             if InfFile not in GlobalData.gLIBINSTANCEDICT:\r
-                InfFileObj = open(InfFile, "rb", 0)\r
+                InfFileObj = open(InfFile, "r")\r
                 GlobalData.gLIBINSTANCEDICT[InfFile] = InfFileObj\r
             else:\r
                 InfFileObj = GlobalData.gLIBINSTANCEDICT[InfFile]\r