BaseTools: Use absolute import in GenFds
authorGary Lin <glin@suse.com>
Fri, 13 Jul 2018 10:18:33 +0000 (18:18 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Mon, 16 Jul 2018 03:22:13 +0000 (11:22 +0800)
Based on "futurize -f libfuturize.fixes.fix_absolute_import"

Since circular import is not allowed after adopting absolute import, the
following changes are applied to break the circles.

* BaseTools/Source/Python/GenFds/Capsule.py
  - Delay "from .GenFds import GenFds" until GenCapsule()
  - Delay "from .GenFds import FindExtendTool" until GenFmpCapsule()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Capsule => GenFds.GenFds =>
  GenFds.FdfParser

* BaseTools/Source/Python/GenFds/Fd.py
  - Delay "from .GenFds import GenFds" until GenFd()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.GenFds =>
  GenFds.FdfParser

* BaseTools/Source/Python/GenFds/Fv.py
  - Delay "from .GenFds import GenFds" until AddToBuffer()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.Fv =>
  GenFds.GenFds => GenFds.FdfParser

* BaseTools/Source/Python/GenFds/GuidSection.py
  - Delay "from .GenFds import FindExtendTool" until GuidSection()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.Fd => GenFds.Fv =>
  GenFds.AprioriSection => GenFds.FfsFileStatement => GenFds.GuidSection =>
  GenFds.GenFds => GenFds.FdfParser

* BaseTools/Source/Python/GenFds/OptRomInfStatement.py
  - Delay "from . import OptionRom" until __GetOptRomParams()
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.OptionRom =>
  GenFds.OptRomInfStatement => GenFds.OptionRom

* BaseTools/Source/Python/GenFds/OptionRom.py
  - Remove the unused "from GenFds import GenFds"
  To break the circle:
  AutoGen.AutoGen => GenFds.FdfParser => GenFds.OptionRom =>
  GenFds.GenFds => GenFds.FdfParser

Contributed-under: TianoCore Contribution Agreement 1.1
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Gary Lin <glin@suse.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
25 files changed:
BaseTools/Source/Python/GenFds/AprioriSection.py
BaseTools/Source/Python/GenFds/Capsule.py
BaseTools/Source/Python/GenFds/CapsuleData.py
BaseTools/Source/Python/GenFds/CompressSection.py
BaseTools/Source/Python/GenFds/DataSection.py
BaseTools/Source/Python/GenFds/DepexSection.py
BaseTools/Source/Python/GenFds/EfiSection.py
BaseTools/Source/Python/GenFds/Fd.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/FfsFileStatement.py
BaseTools/Source/Python/GenFds/FfsInfStatement.py
BaseTools/Source/Python/GenFds/Fv.py
BaseTools/Source/Python/GenFds/FvImageSection.py
BaseTools/Source/Python/GenFds/GenFds.py
BaseTools/Source/Python/GenFds/GuidSection.py
BaseTools/Source/Python/GenFds/OptRomFileStatement.py
BaseTools/Source/Python/GenFds/OptRomInfStatement.py
BaseTools/Source/Python/GenFds/OptionRom.py
BaseTools/Source/Python/GenFds/Region.py
BaseTools/Source/Python/GenFds/RuleComplexFile.py
BaseTools/Source/Python/GenFds/RuleSimpleFile.py
BaseTools/Source/Python/GenFds/Section.py
BaseTools/Source/Python/GenFds/UiSection.py
BaseTools/Source/Python/GenFds/VerSection.py
BaseTools/Source/Python/GenFds/Vtf.py

index b3e7b5fc64a39c1f7690b49ac52ce645c214dfd3..7196f7f2c753c53eef0e0962b1428d3093cecfb4 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 from struct import *\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 from struct import *\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
-import FfsFileStatement\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from . import FfsFileStatement\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import AprioriSectionClassObject\r
 from Common.StringUtils import *\r
 from Common.Misc import SaveFileOnChange, PathClass\r
 from CommonDataClass.FdfClass import AprioriSectionClassObject\r
 from Common.StringUtils import *\r
 from Common.Misc import SaveFileOnChange, PathClass\r
index 35a25bd38037855172accbcfb5baee43cbf31548..27932ef0020c6ee9d5489c03750dc75a3f0c8a0b 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from __future__ import absolute_import\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import CapsuleClassObject\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 from io import BytesIO\r
 from Common.Misc import SaveFileOnChange\r
 from CommonDataClass.FdfClass import CapsuleClassObject\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 from io import BytesIO\r
 from Common.Misc import SaveFileOnChange\r
-from GenFds import GenFds\r
 from Common.Misc import PackRegistryFormatGuid\r
 import uuid\r
 from struct import pack\r
 from Common.Misc import PackRegistryFormatGuid\r
 import uuid\r
 from struct import pack\r
-from GenFds import FindExtendTool\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 \r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 \r
@@ -66,6 +65,7 @@ class Capsule (CapsuleClassObject) :
         #     UINT32            CapsuleImageSize;\r
         # } EFI_CAPSULE_HEADER;\r
         #\r
         #     UINT32            CapsuleImageSize;\r
         # } EFI_CAPSULE_HEADER;\r
         #\r
+        from .GenFds import FindExtendTool\r
         Header = BytesIO()\r
         #\r
         # Use FMP capsule GUID: 6DCBD5ED-E82D-4C44-BDA1-7194199AD92A\r
         Header = BytesIO()\r
         #\r
         # Use FMP capsule GUID: 6DCBD5ED-E82D-4C44-BDA1-7194199AD92A\r
@@ -201,6 +201,7 @@ class Capsule (CapsuleClassObject) :
     #   @retval string      Generated Capsule file path\r
     #\r
     def GenCapsule(self):\r
     #   @retval string      Generated Capsule file path\r
     #\r
     def GenCapsule(self):\r
+        from .GenFds import GenFds\r
         if self.UiCapsuleName.upper() + 'cap' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.UiCapsuleName.upper() + 'cap']\r
 \r
         if self.UiCapsuleName.upper() + 'cap' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.UiCapsuleName.upper() + 'cap']\r
 \r
index 9d17bf5afe28015be93375bc81c812a1da68709d..0caba8983d2e1b35f5d937910100a5e245472339 100644 (file)
@@ -15,8 +15,9 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Ffs\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from __future__ import absolute_import\r
+from . import Ffs\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from io import BytesIO\r
 from struct import pack\r
 import os\r
 from io import BytesIO\r
 from struct import pack\r
 import os\r
index 4ae14f27b3e132581349015e70bdf02dd183c7b2..aaaabf84dca8268dea68246aefcc2e1a3692b8d0 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-from Ffs import Ffs\r
-import Section\r
+from __future__ import absolute_import\r
+from .Ffs import Ffs\r
+from . import Section\r
 import subprocess\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 import Common.LongFilePathOs as os\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import CompressSectionClassObject\r
 from Common.DataType import *\r
 \r
 from CommonDataClass.FdfClass import CompressSectionClassObject\r
 from Common.DataType import *\r
 \r
index 29caa00c0d8dc4ff6031afa600c3d7e80b0e81ed..a6387b07c582b15fb06496276dca863b1b8d44ea 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Section\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from __future__ import absolute_import\r
+from . import Section\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import subprocess\r
 import subprocess\r
-from Ffs import Ffs\r
+from .Ffs import Ffs\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import DataSectionClassObject\r
 from Common.Misc import PeImageClass\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import DataSectionClassObject\r
 from Common.Misc import PeImageClass\r
index f42162d5a27e372d52bcf21a21354fccf15ac8bc..b2d123bfc04578883016688bf00ded6e8faf4280 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Section\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from __future__ import absolute_import\r
+from . import Section\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import subprocess\r
 import subprocess\r
-from Ffs import Ffs\r
+from .Ffs import Ffs\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import DepexSectionClassObject\r
 from AutoGen.GenDepex import DependencyExpression\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import DepexSectionClassObject\r
 from AutoGen.GenDepex import DependencyExpression\r
index 9223268749a11d917ead3c45350aa60da06742ff..623b77d27427a83d42c75842a507718fc115da3f 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 from struct import *\r
 from struct import *\r
-import Section\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from . import Section\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import subprocess\r
 import subprocess\r
-from Ffs import Ffs\r
+from .Ffs import Ffs\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import EfiSectionClassObject\r
 from Common import EdkLogger\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import EfiSectionClassObject\r
 from Common import EdkLogger\r
index 552719fa31145fbb3ac6e9f5dfb3419c58e24b74..53318c9ea5c0104172b92d5d0d8977a8f897fc1a 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Region\r
-import Fv\r
+from __future__ import absolute_import\r
+from . import Region\r
+from . import Fv\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 import sys\r
 from struct import *\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 import sys\r
 from struct import *\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import FDClassObject\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
 from CommonDataClass.FdfClass import FDClassObject\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
-from GenFds import GenFds\r
 from Common.DataType import BINARY_FILE_TYPE_FV\r
 \r
 ## generate FD\r
 from Common.DataType import BINARY_FILE_TYPE_FV\r
 \r
 ## generate FD\r
@@ -47,6 +47,7 @@ class FD(FDClassObject):
     #   @retval string      Generated FD file name\r
     #\r
     def GenFd (self, Flag = False):\r
     #   @retval string      Generated FD file name\r
     #\r
     def GenFd (self, Flag = False):\r
+        from .GenFds import GenFds\r
         if self.FdUiName.upper() + 'fd' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.FdUiName.upper() + 'fd']\r
 \r
         if self.FdUiName.upper() + 'fd' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.FdUiName.upper() + 'fd']\r
 \r
index e2e6df71673a6129f84e37b97c535912d203d09e..5ff2e206dbc9f995bd49ab07b1b9272b73f9f5ca 100644 (file)
 # Import Modules\r
 #\r
 from __future__ import print_function\r
 # Import Modules\r
 #\r
 from __future__ import print_function\r
+from __future__ import absolute_import\r
 import re\r
 \r
 import re\r
 \r
-import Fd\r
-import Region\r
-import Fv\r
-import AprioriSection\r
-import FfsInfStatement\r
-import FfsFileStatement\r
-import VerSection\r
-import UiSection\r
-import FvImageSection\r
-import DataSection\r
-import DepexSection\r
-import CompressSection\r
-import GuidSection\r
-import Capsule\r
-import CapsuleData\r
-import Rule\r
-import RuleComplexFile\r
-import RuleSimpleFile\r
-import EfiSection\r
-import Vtf\r
-import ComponentStatement\r
-import OptionRom\r
-import OptRomInfStatement\r
-import OptRomFileStatement\r
+from . import Fd\r
+from . import Region\r
+from . import Fv\r
+from . import AprioriSection\r
+from . import FfsInfStatement\r
+from . import FfsFileStatement\r
+from . import VerSection\r
+from . import UiSection\r
+from . import FvImageSection\r
+from . import DataSection\r
+from . import DepexSection\r
+from . import CompressSection\r
+from . import GuidSection\r
+from . import Capsule\r
+from . import CapsuleData\r
+from . import Rule\r
+from . import RuleComplexFile\r
+from . import RuleSimpleFile\r
+from . import EfiSection\r
+from . import Vtf\r
+from . import ComponentStatement\r
+from . import OptionRom\r
+from . import OptRomInfStatement\r
+from . import OptRomFileStatement\r
 import string\r
 \r
 import string\r
 \r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from Common.BuildToolError import *\r
 from Common import EdkLogger\r
 from Common.Misc import PathClass\r
 from Common.BuildToolError import *\r
 from Common import EdkLogger\r
 from Common.Misc import PathClass\r
@@ -60,8 +61,8 @@ from Common.Misc import tdict
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 import Common.LongFilePathOs as os\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 import Common.LongFilePathOs as os\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
-from Capsule import EFI_CERT_TYPE_PKCS7_GUID\r
-from Capsule import EFI_CERT_TYPE_RSA2048_SHA256_GUID\r
+from .Capsule import EFI_CERT_TYPE_PKCS7_GUID\r
+from .Capsule import EFI_CERT_TYPE_RSA2048_SHA256_GUID\r
 from Common.RangeExpression import RangeExpression\r
 \r
 ##define T_CHAR_SPACE                ' '\r
 from Common.RangeExpression import RangeExpression\r
 \r
 ##define T_CHAR_SPACE                ' '\r
index 5f31ac03fcf4e850ffdac092457db3de5af32b42..4c35aac76a000e016d4386a2b5b995103c4006ed 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Ffs\r
-import Rule\r
+from __future__ import absolute_import\r
+from . import Ffs\r
+from . import Rule\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 import subprocess\r
 \r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 import subprocess\r
 \r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import FileStatementClassObject\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import GuidStructureByteArrayToGuidString\r
 from CommonDataClass.FdfClass import FileStatementClassObject\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import GuidStructureByteArrayToGuidString\r
-from GuidSection import GuidSection\r
-from FvImageSection import FvImageSection\r
+from .GuidSection import GuidSection\r
+from .FvImageSection import FvImageSection\r
 from Common.Misc import SaveFileOnChange\r
 from struct import *\r
 \r
 from Common.Misc import SaveFileOnChange\r
 from struct import *\r
 \r
index adb9a95bebfa22e09e573a7a542d8780b7a16d69..56bb966698ad85d4b880877d73b0e1d59111c652 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Rule\r
+from __future__ import absolute_import\r
+from . import Rule\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 from struct import *\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 from struct import *\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
-import Ffs\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from . import Ffs\r
 import subprocess\r
 import sys\r
 import subprocess\r
 import sys\r
-import Section\r
-import RuleSimpleFile\r
-import RuleComplexFile\r
+from . import Section\r
+from . import RuleSimpleFile\r
+from . import RuleComplexFile\r
 from CommonDataClass.FdfClass import FfsInfStatementClassObject\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 from Common.StringUtils import *\r
 from CommonDataClass.FdfClass import FfsInfStatementClassObject\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 from Common.StringUtils import *\r
@@ -36,15 +37,15 @@ from Common.Misc import ProcessDuplicatedInf
 from Common.Misc import GetVariableOffset\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import GetVariableOffset\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
-from GuidSection import GuidSection\r
-from FvImageSection import FvImageSection\r
+from .GuidSection import GuidSection\r
+from .FvImageSection import FvImageSection\r
 from Common.Misc import PeImageClass\r
 from AutoGen.GenDepex import DependencyExpression\r
 from PatchPcdValue.PatchPcdValue import PatchBinaryFile\r
 from Common.LongFilePathSupport import CopyLongFilePath\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 import Common.GlobalData as GlobalData\r
 from Common.Misc import PeImageClass\r
 from AutoGen.GenDepex import DependencyExpression\r
 from PatchPcdValue.PatchPcdValue import PatchBinaryFile\r
 from Common.LongFilePathSupport import CopyLongFilePath\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 import Common.GlobalData as GlobalData\r
-from DepexSection import DepexSection\r
+from .DepexSection import DepexSection\r
 from Common.Misc import SaveFileOnChange\r
 from Common.Expression import *\r
 from Common.DataType import *\r
 from Common.Misc import SaveFileOnChange\r
 from Common.Expression import *\r
 from Common.DataType import *\r
index 798c20a0f4ee5050f5712b0c7f9017e50b546b47..097f51f39e272063abb34163134452c77c66ea77 100644 (file)
@@ -1,3 +1,4 @@
+from __future__ import absolute_import\r
 ## @file\r
 # process FV generation\r
 #\r
 ## @file\r
 # process FV generation\r
 #\r
@@ -20,11 +21,10 @@ import subprocess
 from io import BytesIO\r
 from struct import *\r
 \r
 from io import BytesIO\r
 from struct import *\r
 \r
-import Ffs\r
-import AprioriSection\r
-import FfsFileStatement\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
-from GenFds import GenFds\r
+from . import Ffs\r
+from . import AprioriSection\r
+from . import FfsFileStatement\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import FvClassObject\r
 from Common.Misc import SaveFileOnChange, PackGUID\r
 from Common.LongFilePathSupport import CopyLongFilePath\r
 from CommonDataClass.FdfClass import FvClassObject\r
 from Common.Misc import SaveFileOnChange, PackGUID\r
 from Common.LongFilePathSupport import CopyLongFilePath\r
@@ -70,6 +70,7 @@ class FV (FvClassObject):
     #\r
     def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}, Flag=False) :\r
 \r
     #\r
     def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}, Flag=False) :\r
 \r
+        from .GenFds import GenFds\r
         if BaseAddress is None and self.UiFvName.upper() + 'fv' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.UiFvName.upper() + 'fv']\r
 \r
         if BaseAddress is None and self.UiFvName.upper() + 'fv' in GenFds.ImageBinDict:\r
             return GenFds.ImageBinDict[self.UiFvName.upper() + 'fv']\r
 \r
index b4f1f3340e99c9f61ff29d4a1602fb817f05e476..04556fc870998ce1422fcd0638ffc5ef77b7485b 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Section\r
+from __future__ import absolute_import\r
+from . import Section\r
 from io import BytesIO\r
 from io import BytesIO\r
-from Ffs import Ffs\r
+from .Ffs import Ffs\r
 import subprocess\r
 import subprocess\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import FvImageSectionClassObject\r
 from Common import EdkLogger\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import FvImageSectionClassObject\r
 from Common import EdkLogger\r
index b90b50e53967e4215ba22d1fe13915936f606f32..c0b60b9b3c1fdfb0139d1a583dedecf58ec4370e 100644 (file)
 # Import Modules\r
 #\r
 from __future__ import print_function\r
 # Import Modules\r
 #\r
 from __future__ import print_function\r
+from __future__ import absolute_import\r
 from optparse import OptionParser\r
 import sys\r
 import Common.LongFilePathOs as os\r
 import linecache\r
 from optparse import OptionParser\r
 import sys\r
 import Common.LongFilePathOs as os\r
 import linecache\r
-import FdfParser\r
+from . import FdfParser\r
 import Common.BuildToolError as BuildToolError\r
 import Common.BuildToolError as BuildToolError\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from Workspace.WorkspaceDatabase import WorkspaceDatabase\r
 from Workspace.BuildClassObject import PcdClassObject\r
 from Workspace.WorkspaceDatabase import WorkspaceDatabase\r
 from Workspace.BuildClassObject import PcdClassObject\r
-import RuleComplexFile\r
-from EfiSection import EfiSection\r
+from . import RuleComplexFile\r
+from .EfiSection import EfiSection\r
 from io import BytesIO\r
 import Common.TargetTxtClassObject as TargetTxtClassObject\r
 import Common.ToolDefClassObject as ToolDefClassObject\r
 from io import BytesIO\r
 import Common.TargetTxtClassObject as TargetTxtClassObject\r
 import Common.ToolDefClassObject as ToolDefClassObject\r
@@ -40,7 +41,7 @@ from Common.Misc import ClearDuplicatedInf
 from Common.Misc import GuidStructureStringToGuidString\r
 from Common.BuildVersion import gBUILD_VERSION\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 from Common.Misc import GuidStructureStringToGuidString\r
 from Common.BuildVersion import gBUILD_VERSION\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
-import FfsFileStatement\r
+from . import FfsFileStatement\r
 import glob\r
 from struct import unpack\r
 \r
 import glob\r
 from struct import unpack\r
 \r
index c55fb34f2b74e0703684622e2b4bed5d4489a8d9..e41c2fd31e6c8f584a2358665a936c95e839ebab 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Section\r
+from __future__ import absolute_import\r
+from . import Section\r
 import subprocess\r
 import subprocess\r
-from Ffs import Ffs\r
+from .Ffs import Ffs\r
 import Common.LongFilePathOs as os\r
 import Common.LongFilePathOs as os\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import GuidSectionClassObject\r
 from Common import ToolDefClassObject\r
 import sys\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from CommonDataClass.FdfClass import GuidSectionClassObject\r
 from Common import ToolDefClassObject\r
 import sys\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
-from FvImageSection import FvImageSection\r
+from .FvImageSection import FvImageSection\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
-from GenFds import FindExtendTool\r
 from Common.DataType import *\r
 \r
 ## generate GUIDed section\r
 from Common.DataType import *\r
 \r
 ## generate GUIDed section\r
@@ -131,6 +131,7 @@ class GuidSection(GuidSectionClassObject) :
         ExternalTool = None\r
         ExternalOption = None\r
         if self.NameGuid is not None:\r
         ExternalTool = None\r
         ExternalOption = None\r
         if self.NameGuid is not None:\r
+            from .GenFds import FindExtendTool\r
             ExternalTool, ExternalOption = FindExtendTool(self.KeyStringList, self.CurrentArchList, self.NameGuid)\r
 \r
         #\r
             ExternalTool, ExternalOption = FindExtendTool(self.KeyStringList, self.CurrentArchList, self.NameGuid)\r
 \r
         #\r
index 8b6d2a1cb0bdea5294c696ece8e32e9bcaaee945..e56174ec3c86fc22aa4662893a80a5ee1f1b17f0 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 import Common.LongFilePathOs as os\r
 \r
 import Common.LongFilePathOs as os\r
 \r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 ##\r
 #\r
 #\r
 ##\r
 #\r
 #\r
index dff8235ef755800055c4e6c192b6a9a6067039eb..dfeba5d0b140a4c12c7f767c5b5c8bbcf3e82fb1 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import RuleSimpleFile\r
-import RuleComplexFile\r
-import Section\r
-import OptionRom\r
+from __future__ import absolute_import\r
+from . import RuleSimpleFile\r
+from . import RuleComplexFile\r
+from . import Section\r
 import Common.GlobalData as GlobalData\r
 \r
 from Common.DataType import *\r
 from Common.StringUtils import *\r
 import Common.GlobalData as GlobalData\r
 \r
 from Common.DataType import *\r
 from Common.StringUtils import *\r
-from FfsInfStatement import FfsInfStatement\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .FfsInfStatement import FfsInfStatement\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 \r
 ##\r
 #\r
 \r
 ##\r
 #\r
@@ -45,7 +45,7 @@ class OptRomInfStatement (FfsInfStatement):
     #   @param  self        The object pointer\r
     #\r
     def __GetOptRomParams(self):\r
     #   @param  self        The object pointer\r
     #\r
     def __GetOptRomParams(self):\r
-\r
+        from . import OptionRom\r
         if self.OverrideAttribs is None:\r
             self.OverrideAttribs = OptionRom.OverrideAttribs()\r
 \r
         if self.OverrideAttribs is None:\r
             self.OverrideAttribs = OptionRom.OverrideAttribs()\r
 \r
@@ -150,5 +150,3 @@ class OptRomInfStatement (FfsInfStatement):
                     OutputFileList.extend(FileList)\r
 \r
         return OutputFileList\r
                     OutputFileList.extend(FileList)\r
 \r
         return OutputFileList\r
-\r
-\r
index 18f3fbd0d7a2a41f78770fe10d60d411101dcfa2..bb7071fa7fca36df97b8eaca0ac8d915620193f4 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 \r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 \r
-import OptRomInfStatement\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
-from GenFds import GenFds\r
+from . import OptRomInfStatement\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import OptionRomClassObject\r
 from Common.Misc import SaveFileOnChange\r
 from Common import EdkLogger\r
 from CommonDataClass.FdfClass import OptionRomClassObject\r
 from Common.Misc import SaveFileOnChange\r
 from Common import EdkLogger\r
index 33e4ac8d3c37948eb0f3aa56780b65649559cce2..7f94b3d66b55cf5702657262e37bab086f76fb81 100644 (file)
@@ -15,8 +15,9 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 from struct import *\r
 from struct import *\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from io import BytesIO\r
 import string\r
 from CommonDataClass.FdfClass import RegionClassObject\r
 from io import BytesIO\r
 import string\r
 from CommonDataClass.FdfClass import RegionClassObject\r
index 36c483fbb2079f2bd3113eac48d44fceceec0d6b..c357fedbd3beecd513a60805cd6bf742050c670d 100644 (file)
@@ -15,7 +15,8 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Rule\r
+from __future__ import absolute_import\r
+from . import Rule\r
 from  CommonDataClass.FdfClass import RuleComplexFileClassObject\r
 \r
 ## complex rule\r
 from  CommonDataClass.FdfClass import RuleComplexFileClassObject\r
 \r
 ## complex rule\r
index 061f984e6af43c1d4f361dcb10622c96db22d1b2..7aa184e7d8bbda663c09528842fa5c024f6370ba 100644 (file)
@@ -15,7 +15,8 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Rule\r
+from __future__ import absolute_import\r
+from . import Rule\r
 from CommonDataClass.FdfClass import RuleSimpleFileClassObject\r
 \r
 ## simple rule\r
 from CommonDataClass.FdfClass import RuleSimpleFileClassObject\r
 \r
 ## simple rule\r
index ca4705a90c95fc62e7bdf11476e1c7f954c35213..19a70009dccea4cd157017137aea3a1a9dcc75a5 100644 (file)
@@ -15,8 +15,9 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 from CommonDataClass.FdfClass import SectionClassObject\r
 from CommonDataClass.FdfClass import SectionClassObject\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import Common.LongFilePathOs as os, glob\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 import Common.LongFilePathOs as os, glob\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
index 280500952b63efdb09a6b37833c03a2042f49114..24f2f3ca938dee1b8506840a3f5ad0639b38460d 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-import Section\r
-from Ffs import Ffs\r
+from __future__ import absolute_import\r
+from . import Section\r
+from .Ffs import Ffs\r
 import subprocess\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 import Common.LongFilePathOs as os\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import UiSectionClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.DataType import *\r
 from CommonDataClass.FdfClass import UiSectionClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.DataType import *\r
index 456a430079bb2159b7269743c911c6c5b7e6108e..db71fe9653d40777466771b519655a9a18abb95e 100644 (file)
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-from Ffs import Ffs\r
-import Section\r
+from __future__ import absolute_import\r
+from .Ffs import Ffs\r
+from . import Section\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
 import Common.LongFilePathOs as os\r
 import subprocess\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import VerSectionClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.DataType import SUP_MODULE_SEC\r
 from CommonDataClass.FdfClass import VerSectionClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.DataType import SUP_MODULE_SEC\r
index 83abc98f07c3af30f6877d37684a6db15122921c..5cb2d4acfb1cc1eed456618768fb3614bffee5fb 100644 (file)
@@ -15,7 +15,8 @@
 ##\r
 # Import Modules\r
 #\r
 ##\r
 # Import Modules\r
 #\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from __future__ import absolute_import\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import VtfClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 import Common.LongFilePathOs as os\r
 from CommonDataClass.FdfClass import VtfClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r