From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=195.135.221.5; helo=smtp.nue.novell.com; envelope-from=glin@suse.com; receiver=edk2-devel@lists.01.org Received: from smtp.nue.novell.com (smtp.nue.novell.com [195.135.221.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AF91320986AD2 for ; Fri, 13 Jul 2018 03:19:10 -0700 (PDT) Received: from localhost.localdomain (unknown.telstraglobal.net [134.159.103.118]) by smtp.nue.novell.com with ESMTP (NOT encrypted); Fri, 13 Jul 2018 12:19:06 +0200 From: Gary Lin To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Date: Fri, 13 Jul 2018 18:18:31 +0800 Message-Id: <20180713101847.7485-1-glin@suse.com> X-Mailer: git-send-email 2.18.0 Subject: [PATCH v2 00/16] BaseTools: Adopt absolute import X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jul 2018 10:19:13 -0000 v2: Treat BPDG and Ecc as python modules since they use the modules in its own directory This patch series is based on "libfuturize.fixes.fix_absolute_import" to adopt abolute import since relative import is not allowed in python3. The command is applied to BaseTools modules individually. Most of the patches are straightforward except the GenFds patches. It's because there are several circular imports in GenFds and circular import is not compatible with absolute import. To make the patches bisectable, I delay the import of some modules in the first GenFds patch and refactor the code in the follow-up patches to remove circular import completely. The patch set is also available in my github branch: https://github.com/lcp/edk2/tree/python3-absolute-import-v2 Contributed-under: TianoCore Contribution Agreement 1.1 Cc: Yonghong Zhu Cc: Liming Gao Signed-off-by: Gary Lin Gary Lin (16): BaseTools: Treat GenFds.py as a python module BaseTools: Use absolute import in GenFds BaseTools: Move OverrideAttribs to OptRomInfStatement.py BaseTools: Move FindExtendTool to GenFdsGlobalVariable.py BaseTools: Move ImageBinDict to GenFdsGlobalVariable.py BaseTools: Use absolute import in AutoGen BaseTools: Treat BPDG.py as a python module BaseTools: Use absolute import in BPDG BaseTools: Use absolute import in Common BaseTools: Treat Ecc.py as a python module BaseTools: Use absolute import in Ecc BaseTools: Use absolute import in Eot BaseTools: Use absolute import in Table BaseTools: Use absolute import in UPT BaseTools: Use absolute import in Workspace BaseTools: Use absolute import in Scripts BaseTools/BinWrappers/PosixLike/BPDG | 2 +- BaseTools/BinWrappers/PosixLike/Ecc | 2 +- BaseTools/BinWrappers/PosixLike/GenFds | 2 +- BaseTools/BinWrappers/WindowsLike/BPDG.bat | 3 +- BaseTools/BinWrappers/WindowsLike/Ecc.bat | 3 +- BaseTools/BinWrappers/WindowsLike/GenFds.bat | 3 +- .../plugins/EdkPlugins/basemodel/doxygen.py | 3 +- .../plugins/EdkPlugins/basemodel/ini.py | 3 +- BaseTools/Source/Python/AutoGen/AutoGen.py | 17 +-- BaseTools/Source/Python/AutoGen/GenC.py | 7 +- BaseTools/Source/Python/AutoGen/GenMake.py | 3 +- BaseTools/Source/Python/AutoGen/GenPcdDb.py | 7 +- .../Source/Python/AutoGen/IdfClassObject.py | 3 +- BaseTools/Source/Python/AutoGen/StrGather.py | 3 +- BaseTools/Source/Python/BPDG/BPDG.py | 5 +- BaseTools/Source/Python/BPDG/GenVpd.py | 3 +- BaseTools/Source/Python/Common/Database.py | 8 +- BaseTools/Source/Python/Common/EdkLogger.py | 3 +- BaseTools/Source/Python/Common/Expression.py | 3 +- .../Source/Python/Common/LongFilePathOs.py | 3 +- BaseTools/Source/Python/Common/Misc.py | 9 +- BaseTools/Source/Python/Common/Parsing.py | 5 +- BaseTools/Source/Python/Common/StringUtils.py | 9 +- .../Python/Common/TargetTxtClassObject.py | 9 +- .../Python/Common/ToolDefClassObject.py | 9 +- BaseTools/Source/Python/Ecc/CParser.py | 5 +- BaseTools/Source/Python/Ecc/Check.py | 9 +- .../Python/Ecc/CodeFragmentCollector.py | 13 ++- BaseTools/Source/Python/Ecc/Database.py | 7 +- BaseTools/Source/Python/Ecc/Ecc.py | 25 +++-- BaseTools/Source/Python/Ecc/Exception.py | 3 +- BaseTools/Source/Python/Ecc/FileProfile.py | 5 +- BaseTools/Source/Python/Ecc/MetaDataParser.py | 5 +- .../Ecc/MetaFileWorkspace/MetaFileParser.py | 3 +- .../Ecc/MetaFileWorkspace/MetaFileTable.py | 5 +- BaseTools/Source/Python/Ecc/c.py | 13 ++- BaseTools/Source/Python/Eot/CParser.py | 5 +- .../Python/Eot/CodeFragmentCollector.py | 11 +- BaseTools/Source/Python/Eot/Eot.py | 21 ++-- BaseTools/Source/Python/Eot/FileProfile.py | 3 +- BaseTools/Source/Python/Eot/InfParserLite.py | 5 +- BaseTools/Source/Python/Eot/Parser.py | 3 +- BaseTools/Source/Python/Eot/Report.py | 3 +- BaseTools/Source/Python/Eot/c.py | 9 +- .../Source/Python/GenFds/AprioriSection.py | 5 +- BaseTools/Source/Python/GenFds/Capsule.py | 12 +- BaseTools/Source/Python/GenFds/CapsuleData.py | 5 +- .../Source/Python/GenFds/CompressSection.py | 7 +- BaseTools/Source/Python/GenFds/DataSection.py | 7 +- .../Source/Python/GenFds/DepexSection.py | 7 +- BaseTools/Source/Python/GenFds/EfiSection.py | 7 +- BaseTools/Source/Python/GenFds/Fd.py | 22 ++-- BaseTools/Source/Python/GenFds/FdfParser.py | 57 +++++----- .../Source/Python/GenFds/FfsFileStatement.py | 11 +- .../Source/Python/GenFds/FfsInfStatement.py | 19 ++-- BaseTools/Source/Python/GenFds/Fv.py | 20 ++-- .../Source/Python/GenFds/FvImageSection.py | 7 +- BaseTools/Source/Python/GenFds/GenFds.py | 105 +----------------- .../Python/GenFds/GenFdsGlobalVariable.py | 97 +++++++++++++++- BaseTools/Source/Python/GenFds/GuidSection.py | 11 +- .../Python/GenFds/OptRomFileStatement.py | 3 +- .../Python/GenFds/OptRomInfStatement.py | 27 +++-- BaseTools/Source/Python/GenFds/OptionRom.py | 6 +- BaseTools/Source/Python/GenFds/Region.py | 3 +- .../Source/Python/GenFds/RuleComplexFile.py | 3 +- .../Source/Python/GenFds/RuleSimpleFile.py | 3 +- BaseTools/Source/Python/GenFds/Section.py | 3 +- BaseTools/Source/Python/GenFds/UiSection.py | 7 +- BaseTools/Source/Python/GenFds/VerSection.py | 7 +- BaseTools/Source/Python/GenFds/Vtf.py | 3 +- .../Source/Python/Table/TableDataModel.py | 3 +- BaseTools/Source/Python/Table/TableDec.py | 3 +- BaseTools/Source/Python/Table/TableDsc.py | 3 +- .../Source/Python/Table/TableEotReport.py | 3 +- BaseTools/Source/Python/Table/TableFdf.py | 3 +- BaseTools/Source/Python/Table/TableFile.py | 3 +- .../Source/Python/Table/TableFunction.py | 3 +- .../Source/Python/Table/TableIdentifier.py | 3 +- BaseTools/Source/Python/Table/TableInf.py | 3 +- BaseTools/Source/Python/Table/TablePcd.py | 3 +- BaseTools/Source/Python/Table/TableQuery.py | 3 +- BaseTools/Source/Python/Table/TableReport.py | 3 +- .../Source/Python/UPT/Library/Parsing.py | 3 +- .../Source/Python/Workspace/DscBuildData.py | 9 +- .../Source/Python/Workspace/InfBuildData.py | 3 +- .../Source/Python/Workspace/MetaFileParser.py | 5 +- .../Source/Python/Workspace/MetaFileTable.py | 5 +- .../Python/Workspace/WorkspaceCommon.py | 3 +- .../Python/Workspace/WorkspaceDatabase.py | 7 +- 89 files changed, 452 insertions(+), 363 deletions(-) -- 2.18.0