public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 00/16] BaseTools: Adopt absolute import
@ 2018-07-13 10:18 Gary Lin
  2018-07-13 10:18 ` [PATCH v2 01/16] BaseTools: Treat GenFds.py as a python module Gary Lin
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Gary Lin @ 2018-07-13 10:18 UTC (permalink / raw)
  To: edk2-devel; +Cc: Yonghong Zhu, Liming Gao

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 <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Gary Lin <glin@suse.com>

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



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-07-13 15:07 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-13 10:18 [PATCH v2 00/16] BaseTools: Adopt absolute import Gary Lin
2018-07-13 10:18 ` [PATCH v2 01/16] BaseTools: Treat GenFds.py as a python module Gary Lin
2018-07-13 10:18 ` [PATCH v2 02/16] BaseTools: Use absolute import in GenFds Gary Lin
2018-07-13 10:18 ` [PATCH v2 03/16] BaseTools: Move OverrideAttribs to OptRomInfStatement.py Gary Lin
2018-07-13 10:18 ` [PATCH v2 04/16] BaseTools: Move FindExtendTool to GenFdsGlobalVariable.py Gary Lin
2018-07-13 10:18 ` [PATCH v2 05/16] BaseTools: Move ImageBinDict " Gary Lin
2018-07-13 10:18 ` [PATCH v2 06/16] BaseTools: Use absolute import in AutoGen Gary Lin
2018-07-13 10:18 ` [PATCH v2 07/16] BaseTools: Treat BPDG.py as a python module Gary Lin
2018-07-13 10:18 ` [PATCH v2 08/16] BaseTools: Use absolute import in BPDG Gary Lin
2018-07-13 10:18 ` [PATCH v2 09/16] BaseTools: Use absolute import in Common Gary Lin
2018-07-13 10:18 ` [PATCH v2 10/16] BaseTools: Treat Ecc.py as a python module Gary Lin
2018-07-13 10:18 ` [PATCH v2 11/16] BaseTools: Use absolute import in Ecc Gary Lin
2018-07-13 10:18 ` [PATCH v2 12/16] BaseTools: Use absolute import in Eot Gary Lin
2018-07-13 10:18 ` [PATCH v2 13/16] BaseTools: Use absolute import in Table Gary Lin
2018-07-13 10:18 ` [PATCH v2 14/16] BaseTools: Use absolute import in UPT Gary Lin
2018-07-13 10:18 ` [PATCH v2 15/16] BaseTools: Use absolute import in Workspace Gary Lin
2018-07-13 10:18 ` [PATCH v2 16/16] BaseTools: Use absolute import in Scripts Gary Lin
2018-07-13 15:07 ` [PATCH v2 00/16] BaseTools: Adopt absolute import Carsey, Jaben

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox