]> git.proxmox.com Git - mirror_edk2.git/commit - BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools: Decouple AutoGen Objects
authorFeng, Bob C <bob.c.feng@intel.com>
Mon, 22 Jul 2019 03:09:22 +0000 (11:09 +0800)
committerFeng, Bob C <bob.c.feng@intel.com>
Fri, 9 Aug 2019 15:15:52 +0000 (23:15 +0800)
commite8449e1d8e3b40186eb16ff25242397cffb00a63
tree91e6fd4742f6cc2b351be2f5bfe02ab1a4ea1b38
parent197ca7febf8668be505ff904f75b97f9e465df82
BaseTools: Decouple AutoGen Objects

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875

1. Separate the AutoGen.py into 3 small py files.
One is for AutoGen base class, one is for WorkspaceAutoGen class
and PlatformAutoGen class, and the one for ModuleAutoGen class.
2. Create a new class DataPipe to store the Platform scope settings.
Create a new class PlatformInfo to provide the same interface
as PlatformAutoGen. PlatformInfo class is initialized by
DataPipe instance.
Create a new class WorkspaceInfo to provide the same interface
as WorkspaceAutoGen. WorkspaceInfo class is initialized by
DataPipe instance.
3. Change ModuleAutoGen to depends on DataPipe, PlatformInfo and
WorkspaceInfo. Remove the dependency of ModuleAutoGen to PlatformAutoGen.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Steven Shi <steven.shi@intel.com>
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Liming Gao <liming.gao@intel.com>
15 files changed:
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/DataPipe.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/GenC.py
BaseTools/Source/Python/AutoGen/ModuleAutoGen.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/PlatformAutoGen.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Misc.py
BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py
BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools/Source/Python/Workspace/InfBuildData.py
BaseTools/Source/Python/Workspace/WorkspaceCommon.py
BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
BaseTools/Source/Python/build/BuildReport.py
BaseTools/Source/Python/build/build.py