public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its not used.
       [not found] <cover.1524150605.git.jaben.carsey@intel.com>
@ 2018-04-19 15:12 ` Jaben Carsey
       [not found]   ` <cover.1524150680.git.jaben.carsey@intel.com>
  2018-04-23  3:13   ` [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its " Zhu, Yonghong
  0 siblings, 2 replies; 4+ messages in thread
From: Jaben Carsey @ 2018-04-19 15:12 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao, Yonghong Zhu

v2 - update makefile too.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
 BaseTools/Source/Python/Common/EdkIIWorkspace.py | 317 --------------------
 BaseTools/Source/Python/Makefile                 |   1 -
 2 files changed, 318 deletions(-)

diff --git a/BaseTools/Source/Python/Common/EdkIIWorkspace.py b/BaseTools/Source/Python/Common/EdkIIWorkspace.py
deleted file mode 100644
index d75b9f8025b3..000000000000
--- a/BaseTools/Source/Python/Common/EdkIIWorkspace.py
+++ /dev/null
@@ -1,317 +0,0 @@
-## @file
-# This is the base class for applications that operate on an EDK II Workspace 
-#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution.  The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import Common.LongFilePathOs as os, sys, time
-from DataType import *
-from Common.LongFilePathSupport import OpenLongFilePath as open
-from Common.MultipleWorkspace import MultipleWorkspace as mws
-
-## EdkIIWorkspace
-#
-# Collect WorkspaceDir from the environment, the Verbose command line flag, and detect an icon bitmap file.
-# 
-# @var StartTime:       Time of build system starting
-# @var PrintRunTime:    Printable time of build system running
-# @var PrintRunStatus:  Printable status of build system running
-# @var RunStatus:       Status of build system running
-#
-class EdkIIWorkspace:
-    def __init__(self):
-        self.StartTime = time.time()
-        self.PrintRunTime = False
-        self.PrintRunStatus = False
-        self.RunStatus = ''
-        
-        #
-        # Check environment valiable 'WORKSPACE'
-        #
-        if os.environ.get('WORKSPACE') is None:
-            print 'ERROR: WORKSPACE not defined.    Please run EdkSetup from the EDK II install directory.'
-            return False
-
-        self.CurrentWorkingDir = os.getcwd()
-        
-        self.WorkspaceDir = os.path.realpath(os.environ.get('WORKSPACE'))
-        (Drive, Path) = os.path.splitdrive(self.WorkspaceDir)
-        if Drive == '':
-            (Drive, CwdPath) = os.path.splitdrive(self.CurrentWorkingDir)
-            if Drive != '':
-                self.WorkspaceDir = Drive + Path
-        else:
-            self.WorkspaceDir = Drive.upper() + Path
-
-        self.WorkspaceRelativeWorkingDir = self.WorkspaceRelativePath (self.CurrentWorkingDir)
-            
-        try:
-            #
-            # Load TianoCoreOrgLogo, used for GUI tool
-            #
-            self.Icon = wx.Icon(self.WorkspaceFile('tools/Python/TianoCoreOrgLogo.gif'), wx.BITMAP_TYPE_GIF)
-        except:
-            self.Icon = None
-            
-        self.Verbose = False
-        for Arg in sys.argv:
-            if Arg.lower() == '-v':
-                self.Verbose = True
-    
-    ## Close build system
-    #
-    # Close build system and print running time and status
-    #
-    def Close(self):
-        if self.PrintRunTime:
-            Seconds = int(time.time() - self.StartTime)
-            if Seconds < 60:
-                print 'Run Time: %d seconds' % (Seconds)
-            else:
-                Minutes = Seconds / 60
-                Seconds = Seconds % 60
-                if Minutes < 60:
-                    print 'Run Time: %d minutes %d seconds' % (Minutes, Seconds)
-                else:
-                    Hours = Minutes / 60
-                    Minutes = Minutes % 60
-                    print 'Run Time: %d hours %d minutes %d seconds' % (Hours, Minutes, Seconds)
-        if self.RunStatus != '':
-            print self.RunStatus
-
-    ## Convert to a workspace relative filename
-    #
-    # Convert a full path filename to a workspace relative filename.
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval None    Workspace dir is not found in the full path
-    # @retval string  The relative filename
-    #
-    def WorkspaceRelativePath(self, FileName):
-        FileName = os.path.realpath(FileName)
-        if FileName.find(self.WorkspaceDir) != 0:
-            return None
-        return FileName.replace (self.WorkspaceDir, '').strip('\\').strip('/')
-
-    ## Convert to a full path filename
-    #
-    # Convert a workspace relative filename to a full path filename.
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval string  The full path filename
-    #
-    def WorkspaceFile(self, FileName):
-        return os.path.realpath(mws.join(self.WorkspaceDir,FileName))
-
-    ## Convert to a real path filename
-    #
-    # Convert ${WORKSPACE} to real path
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval string  The full path filename
-    #
-    def WorkspacePathConvert(self, FileName):
-        return os.path.realpath(FileName.replace(TAB_WORKSPACE, self.WorkspaceDir))
-
-    ## Convert XML into a DOM
-    #
-    # Parse an XML file into a DOM and return the DOM.
-    #
-    # @param FileName:  The filename to be parsed
-    #
-    # @retval XmlParseFile (self.WorkspaceFile(FileName))
-    #
-    def XmlParseFile (self, FileName):
-        if self.Verbose:
-            print FileName
-        return XmlParseFile (self.WorkspaceFile(FileName))
-
-    ## Convert a XML section
-    #
-    # Parse a section of an XML file into a DOM(Document Object Model) and return the DOM.
-    #
-    # @param FileName:    The filename to be parsed
-    # @param SectionTag:  The tag name of the section to be parsed
-    #
-    # @retval XmlParseFileSection (self.WorkspaceFile(FileName), SectionTag)
-    #
-    def XmlParseFileSection (self, FileName, SectionTag):
-        if self.Verbose:
-            print FileName
-        return XmlParseFileSection (self.WorkspaceFile(FileName), SectionTag)
-
-    ## Save a XML file
-    #
-    # Save a DOM(Document Object Model) into an XML file.
-    #
-    # @param Dom:       The Dom to be saved
-    # @param FileName:  The filename
-    #
-    # @retval XmlSaveFile (Dom, self.WorkspaceFile(FileName))
-    #
-    def XmlSaveFile (self, Dom, FileName):
-        if self.Verbose:
-            print FileName
-        return XmlSaveFile (Dom, self.WorkspaceFile(FileName))
-
-    ## Convert Text File To Dictionary
-    #
-    # Convert a workspace relative text file to a dictionary of (name:value) pairs.
-    #
-    # @param FileName:             Text filename
-    # @param Dictionary:           Dictionary to store data
-    # @param CommentCharacter:     Comment char, be used to ignore comment content
-    # @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-    # @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-    # @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-    #
-    # @retval ConvertTextFileToDictionary(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-    #
-    def ConvertTextFileToDictionary(self, FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-        if self.Verbose:
-            print FileName
-        return ConvertTextFileToDictionary(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-
-    ## Convert Dictionary To Text File
-    #
-    # Convert a dictionary of (name:value) pairs to a workspace relative text file.
-    #
-    # @param FileName:             Text filename
-    # @param Dictionary:           Dictionary to store data
-    # @param CommentCharacter:     Comment char, be used to ignore comment content
-    # @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-    # @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-    # @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-    #
-    # @retval ConvertDictionaryToTextFile(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-    #
-    def ConvertDictionaryToTextFile(self, FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-        if self.Verbose:
-            print FileName
-        return ConvertDictionaryToTextFile(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-
-## Convert Text File To Dictionary
-#
-# Convert a text file to a dictionary of (name:value) pairs.
-#
-# @param FileName:             Text filename
-# @param Dictionary:           Dictionary to store data
-# @param CommentCharacter:     Comment char, be used to ignore comment content
-# @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-# @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-# @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-#
-# @retval True  Convert successfully
-# @retval False Open file failed
-#
-def ConvertTextFileToDictionary(FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-    try:
-        F = open(FileName, 'r')
-    except:
-        return False
-    Keys = []
-    for Line in F:
-        LineList = Line.split(KeySplitCharacter, 1)
-        if len(LineList) >= 2:
-            Key = LineList[0].split()
-            if len(Key) == 1 and Key[0][0] != CommentCharacter and Key[0] not in Keys:
-                if ValueSplitFlag:
-                    Dictionary[Key[0]] = LineList[1].replace('\\', '/').split(ValueSplitCharacter)
-                else:
-                    Dictionary[Key[0]] = LineList[1].strip().replace('\\', '/')
-                Keys += [Key[0]]
-    F.close()
-    return True
-
-## Convert Dictionary To Text File
-#
-# Convert a dictionary of (name:value) pairs to a text file.
-#
-# @param FileName:             Text filename
-# @param Dictionary:           Dictionary to store data
-# @param CommentCharacter:     Comment char, be used to ignore comment content
-# @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-# @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-# @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-#
-# @retval True  Convert successfully
-# @retval False Open file failed
-#
-def ConvertDictionaryToTextFile(FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-    try:
-        F = open(FileName, 'r')
-        Lines = []
-        Lines = F.readlines()
-        F.close()
-    except:
-        Lines = []
-    Keys = Dictionary.keys()
-    MaxLength = max(map(len,Keys))
-    Index = 0
-    for Line in Lines:
-        LineList = Line.split(KeySplitCharacter, 1)
-        if len(LineList) >= 2:
-            Key = LineList[0].split()
-            if len(Key) == 1 and Key[0][0] != CommentCharacter and Key[0] in Dictionary:
-                if ValueSplitFlag:
-                    Line = '%-*s %c %s\n' % (MaxLength, Key[0], KeySplitCharacter, ' '.join(Dictionary[Key[0]]))
-                else:
-                    Line = '%-*s %c %s\n' % (MaxLength, Key[0], KeySplitCharacter, Dictionary[Key[0]])
-                Lines.pop(Index)
-                if Key[0] in Keys:
-                    Lines.insert(Index, Line)
-                    Keys.remove(Key[0])
-        Index += 1
-    for RemainingKey in Keys:
-        if ValueSplitFlag:
-            Line = '%-*s %c %s\n' % (MaxLength, RemainingKey, KeySplitCharacter, ' '.join(Dictionary[RemainingKey]))
-        else:
-            Line = '%-*s %c %s\n' % (MaxLength, RemainingKey, KeySplitCharacter, Dictionary[RemainingKey])
-        Lines.append(Line)
-    try:
-        F = open(FileName, 'w')
-    except:
-        return False
-    F.writelines(Lines)
-    F.close()
-    return True
-
-## Create a new directory
-#
-# @param Directory:           Directory to be created
-#
-def CreateDirectory(Directory):
-    if not os.access(Directory, os.F_OK):
-        os.makedirs (Directory)
-
-## Create a new file
-#
-# @param Directory:  Directory to be created
-# @param FileName:   Filename to be created
-# @param Mode:       The mode of open file, defautl is 'w'
-#
-def CreateFile(Directory, FileName, Mode='w'):
-    CreateDirectory (Directory)
-    return open(os.path.join(Directory, FileName), Mode)
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
-    # Nothing to do here. Could do some unit tests
-    pass
\ No newline at end of file
diff --git a/BaseTools/Source/Python/Makefile b/BaseTools/Source/Python/Makefile
index a51207d3d831..4fda6d7e0c84 100644
--- a/BaseTools/Source/Python/Makefile
+++ b/BaseTools/Source/Python/Makefile
@@ -37,7 +37,6 @@ APPLICATIONS=$(BIN_DIR)\build.exe $(BIN_DIR)\GenFds.exe $(BIN_DIR)\Trim.exe $(BI
 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \
-              $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \
-- 
2.16.2.windows.1



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

* [PATCH v2 1/1] BaseTools: remove PlatformClass as it's not used
       [not found]   ` <cover.1524150680.git.jaben.carsey@intel.com>
@ 2018-04-19 15:12     ` Jaben Carsey
  2018-04-23  3:13       ` Zhu, Yonghong
  0 siblings, 1 reply; 4+ messages in thread
From: Jaben Carsey @ 2018-04-19 15:12 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao, Yonghong Zhu

v2 - update makefile too.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
 BaseTools/Source/Python/CommonDataClass/PlatformClass.py | 456 --------------------
 BaseTools/Source/Python/Makefile                         |   1 -
 2 files changed, 457 deletions(-)

diff --git a/BaseTools/Source/Python/CommonDataClass/PlatformClass.py b/BaseTools/Source/Python/CommonDataClass/PlatformClass.py
deleted file mode 100644
index a93d1ce2a1db..000000000000
--- a/BaseTools/Source/Python/CommonDataClass/PlatformClass.py
+++ /dev/null
@@ -1,456 +0,0 @@
-## @file
-# This file is used to define a class object to describe a platform
-#
-# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution.    The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-##
-# Import Modules
-#
-from CommonClass import *
-
-## SkuInfoListClass
-#
-# This class defined sku info list item used in platform file
-# 
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class
-#
-# @var SkuInfoList:              To store value for SkuInfoList, it is a set structure as
-#                                { SkuName : SkuId }
-#
-class SkuInfoListClass(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.SkuInfoList = {}
-
-## PlatformHeaderClass
-#
-# This class defined header items used in Platform file
-# 
-# @param IdentificationClass:    Inherited from IdentificationClass class
-# @param CommonHeaderClass:      Inherited from CommonHeaderClass class
-# @param DefineClass:            Inherited from DefineClass class
-#
-# @var DscSpecification:         To store value for DscSpecification
-# @var SupArchList:              To store value for SupArchList, selection scope is in below list
-#                                EBC | IA32 | X64 | IPF | ARM | PPC | AARCH64
-# @var BuildTargets:             To store value for BuildTargets, selection scope is in below list
-#                                RELEASE | DEBUG
-# @var IntermediateDirectories:  To store value for IntermediateDirectories, selection scope is in below list
-#                                MODULE | UNIFIED
-# @var OutputDirectory:          To store value for OutputDirectory
-# @var ForceDebugTarget:         To store value for ForceDebugTarget
-# @var SkuIdName:                To store value for SkuIdName
-# @var BuildNumber:              To store value for BuildNumber
-# @var MakefileName:             To store value for MakefileName
-# @var ClonedFrom:               To store value for ClonedFrom, it is a list structure as
-#                                [ ClonedRecordClass, ... ]
-#
-class PlatformHeaderClass(IdentificationClass, CommonHeaderClass, DefineClass):
-    def __init__(self):
-        IdentificationClass.__init__(self)
-        CommonHeaderClass.__init__(self)
-        DefineClass.__init__(self)
-        self.DscSpecification = ''
-        self.SupArchList = []
-        self.BuildTargets = []
-        self.IntermediateDirectories = ''
-        self.OutputDirectory = ''                                                    
-        self.ForceDebugTarget = ''
-        self.SkuIdName = []
-        self.BuildNumber = ''
-        self.MakefileName = ''
-        self.ClonedFrom = []
-
-## PlatformFlashDefinitionFileClass
-#
-# This class defined FlashDefinitionFile item used in platform file
-# 
-# @param object:   Inherited from object class
-#
-# @var Id:         To store value for Id
-# @var UiName:     To store value for UiName
-# @var Preferred:  To store value for Preferred
-# @var FilePath:   To store value for FilePath
-#
-class PlatformFlashDefinitionFileClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.UiName = ''
-        self.Preferred = False
-        self.FilePath = ''
-
-## BuildScriptClass
-#
-# This class defined PREBUILD/POSTBUILD item used in platform file
-#
-# @param object:   Inherited from object class
-#
-# @var Id:         To store value for Id
-# @var UiName:     To store value for UiName
-# @var Preferred:  To store value for Preferred
-# @var FilePath:   To store value for FilePath
-#
-class BuildScriptClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.UiName = ''
-        self.Preferred = False
-        self.FilePath = ''
-
-## PlatformFvImageOptionClass
-#
-# This class defined FvImageOption item used in platform file
-# 
-# @param object:             Inherited from object class
-#
-# @var FvImageOptionName:    To store value for FvImageOptionName
-# @var FvImageOptionValues:  To store value for FvImageOptionValues
-#
-class PlatformFvImageOptionClass(object):
-    def __init__(self):
-        self.FvImageOptionName = ''
-        self.FvImageOptionValues = []
-
-## PlatformFvImageClass
-#
-# This class defined FvImage item used in platform file
-# 
-# @param object:        Inherited from object class
-#
-# @var Name:            To store value for Name
-# @var Value:           To store value for Value
-# @var Type:            To store value for Type, selection scope is in below list
-#                       Attributes | Options | Components | ImageName 
-# @var FvImageNames:    To store value for FvImageNames
-# @var FvImageOptions:  To store value for FvImageOptions, it is a list structure as
-#                       [ PlatformFvImageOption, ...]
-#
-class PlatformFvImageClass(object):
-    def __init__(self):
-        self.Name = ''
-        self.Value = ''
-        self.Type = ''
-        self.FvImageNames = []
-        self.FvImageOptions = []
-
-## PlatformFvImageNameClass
-#
-# This class defined FvImageName item used in platform file
-# 
-# @param object:        Inherited from object class
-#
-# @var Name:            To store value for Name
-# @var Type:            To store value for Type, selection scope is in below list
-#                       FV_MAIN | FV_MAIN_COMPACT | NV_STORAGE | FV_RECOVERY | FV_RECOVERY_FLOPPY | FV_FILE | CAPSULE_CARGO | NULL | USER_DEFINED 
-# @var FvImageOptions:  To store value for FvImageOptions, it is a list structure as
-#                       [ PlatformFvImageOption, ...]
-#
-class PlatformFvImageNameClass(object):
-    def __init__(self):
-        self.Name = ''
-        self.Type = ''
-        self.FvImageOptions = []
-
-## PlatformFvImagesClass
-#
-# This class defined FvImages item used in platform file
-# 
-# @param object:  Inherited from object class
-#
-# @var FvImages:  To store value for FvImages
-#
-class PlatformFvImagesClass(object):
-    def __init__(self):
-        self.FvImages = []
-
-## PlatformAntTaskClass
-#
-# This class defined AntTask item used in platform file
-# 
-# @param object:       Inherited from object class
-#
-# @var Id:             To store value for Id
-# @var AntCmdOptions:  To store value for AntCmdOptions
-# @var FilePath:       To store value for FilePath
-#
-class PlatformAntTaskClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.AntCmdOptions = ''
-        self.FilePath = ''
-
-## PlatformFfsSectionClass
-#
-# This class defined FfsSection item used in platform file
-# 
-# @param CommonClass:        Inherited from CommonClass class
-#
-# @var BindingOrder:         To store value for BindingOrder
-# @var Compressible:         To store value for Compressible
-# @var SectionType:          To store value for SectionType
-# @var EncapsulationType:    To store value for EncapsulationType
-# @var ToolName:             To store value for ToolName
-# @var Filenames:            To store value for Filenames
-# @var Args:                 To store value for Args
-# @var OutFile:              To store value for OutFile
-# @var OutputFileExtension:  To store value for OutputFileExtension
-# @var ToolNameElement:      To store value for ToolNameElement
-#
-class PlatformFfsSectionClass(CommonClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        self.BindingOrder = ''
-        self.Compressible = ''
-        self.SectionType  = ''
-        self.EncapsulationType  = ''
-        self.ToolName = ''
-        self.Filenames = []
-        self.Args = ''
-        self.OutFile = ''
-        self.OutputFileExtension = ''
-        self.ToolNameElement = ''
-
-## PlatformFfsSectionsClass
-#
-# This class defined FfsSections item used in platform file
-# 
-# @param CommonClass:      Inherited from CommonClass class
-#
-# @var BindingOrder:       To store value for BindingOrder
-# @var Compressible:       To store value for Compressible
-# @var SectionType:        To store value for SectionType
-# @var EncapsulationType:  To store value for EncapsulationType
-# @var ToolName:           To store value for ToolName
-# @var Section:            To store value for Section, it is a list structure as
-#                          [ PlatformFfsSectionClass, ... ]
-# @var Sections:           To store value for Sections, it is a list structure as
-#                          [ PlatformFfsSectionsClass, ...]
-#
-class PlatformFfsSectionsClass(CommonClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        self.BindingOrder = ''
-        self.Compressible = ''
-        self.SectionType = ''
-        self.EncapsulationType = ''
-        self.ToolName = ''
-        self.Section = []
-        self.Sections = []
-
-## PlatformFfsClass
-#
-# This class defined Ffs item used in platform file
-# 
-# @param object:   Inherited from object class
-#
-# @var Attribute:  To store value for Attribute, it is a set structure as
-#                  { [(Name, PlatformFfsSectionsClass)] : Value}
-# @var Sections:   To store value for Sections, it is a list structure as
-#                  [ PlatformFfsSectionsClass]
-# @var ToolName:   To store value for ToolName
-#
-class PlatformFfsClass(object):
-    def __init__(self):
-        self.Attribute = {}
-        self.Sections = []
-        self.Key = ''
-
-## PlatformBuildOptionClass
-#
-# This class defined BuildOption item used in platform file
-# 
-# @param object:             Inherited from object class
-#
-# @var UserDefinedAntTasks:  To store value for UserDefinedAntTasks, it is a set structure as
-#                            { [Id] : PlatformAntTaskClass, ...}
-# @var Options:              To store value for Options, it is a list structure as
-#                            [ BuildOptionClass, ...]
-# @var UserExtensions:       To store value for UserExtensions, it is a set structure as
-#                            { [(UserID, Identifier)] : UserExtensionsClass, ...}
-# @var FfsKeyList:           To store value for FfsKeyList, it is a set structure as
-#                            { [FfsKey]: PlatformFfsClass, ...} 
-#
-class PlatformBuildOptionClass(object):
-    def __init__(self):
-        self.UserDefinedAntTasks = {}
-        self.Options = []
-        self.UserExtensions = {}
-        self.FfsKeyList = {}
-
-## PlatformBuildOptionClasses
-#
-# This class defined BuildOption item list used in platform file
-# 
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class
-#
-# @var FvBinding:                To store value for FvBinding
-# @var FfsFileNameGuid:          To store value for FfsFileNameGuid
-# @var FfsFormatKey:             To store value for FfsFormatKey
-# @var BuildOptionList:          To store value for BuildOptionList, it is a list structure as
-#                                [ BuildOptionClass, ... ]
-#
-class PlatformBuildOptionClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.FvBinding = ''
-        self.FfsFileNameGuid = ''
-        self.FfsFormatKey = ''
-        self.BuildOptionList = []
-
-## PlatformLibraryClass
-#
-# This class defined Library item used in platform file
-# 
-# @param CommonClass:   Inherited from CommonClass class
-# @param DefineClass:   Inherited from DefineClass class
-# @param Name:          Input value for Name, default is ''
-# @param FilePath:      Input value for FilePath, default is ''
-#
-# @var Name:            To store value for Name
-# @var FilePath:        To store value for FilePath
-# @var ModuleType:      To store value for ModuleType
-# @var SupModuleList:   To store value for SupModuleList
-# @var ModuleGuid:      To store value for ModuleGuid
-# @var ModuleVersion:   To store value for ModuleVersion
-# @var PackageGuid:     To store value for PackageGuid
-# @var PackageVersion:  To store value for PackageVersion
-#
-class PlatformLibraryClass(CommonClass, DefineClass):
-    def __init__(self, Name = '', FilePath = ''):
-        CommonClass.__init__(self)
-        DefineClass.__init__(self)
-        self.Name = Name
-        self.FilePath = FilePath
-        self.ModuleType = []
-        self.SupModuleList = []
-        self.ModuleGuid = ''
-        self.ModuleVersion = ''
-        self.PackageGuid = ''
-        self.PackageVersion = ''
-
-## PlatformLibraryClasses
-#
-# This class defined Library item list used in platform file
-# 
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class
-#
-# @var LibraryList:              To store value for LibraryList, it is a list structure as
-#                                [ PlatformLibraryClass, ... ]
-#
-class PlatformLibraryClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.LibraryList = []
-
-## PlatformModuleClass
-#
-# This class defined Module item used in platform file
-# 
-# @param CommonClass:            Inherited from CommonClass class
-# @param DefineClass:            Inherited from DefineClass class
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class
-#
-# @var Name:                     To store value for Name (Library name or libraryclass name or module name)
-# @var FilePath:                 To store value for FilePath
-# @var Type:                     To store value for Type, selection scope is in below list
-#                                LIBRARY | LIBRARY_CLASS | MODULE
-# @var ModuleType:               To store value for ModuleType
-# @var ExecFilePath:             To store value for ExecFilePath
-# @var LibraryClasses:           To store value for LibraryClasses, it is a structure as
-#                                PlatformLibraryClasses
-# @var PcdBuildDefinitions:      To store value for PcdBuildDefinitions, it is a list structure as
-#                                [ PcdClass, ...]
-# @var ModuleSaBuildOption:      To store value for ModuleSaBuildOption, it is a structure as
-#                                PlatformBuildOptionClasses
-# @var Specifications:           To store value for Specifications, it is a list structure as
-#                                [ '', '', ...]
-#
-class PlatformModuleClass(CommonClass, DefineClass, IncludeStatementClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        DefineClass.__init__(self)
-        self.Name = ''
-        self.FilePath = ''
-        self.Type = ''
-        self.ModuleType = ''
-        self.ExecFilePath = ''
-        self.LibraryClasses = PlatformLibraryClasses()
-        self.PcdBuildDefinitions = []
-        self.ModuleSaBuildOption = PlatformBuildOptionClasses()
-        self.Specifications = []
-        self.SourceOverridePath = ''
-
-## PlatformModuleClasses
-#
-# This class defined Module item list used in platform file
-# 
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class
-#
-# @var ModuleList:               To store value for ModuleList, it is a list structure as
-#                                [ PlatformModuleClass, ... ]
-#
-class PlatformModuleClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.ModuleList = []
-
-## PlatformClass
-#
-# This class defined a complete platform item
-# 
-# @param object:                    Inherited from object class
-#
-# @var Header:                      To store value for Header, it is a structure as
-#                                   {Arch : PlatformHeaderClass()}
-# @var SkuInfos:                    To store value for SkuInfos, it is a structure as
-#                                   SkuInfoListClass
-# @var Libraries:                   To store value for Libraries, it is a structure as
-#                                   PlatformLibraryClasses
-# @var LibraryClasses:              To store value for LibraryClasses, it is a structure as
-#                                   PlatformLibraryClasses
-# @var Modules:                     To store value for Modules, it is a structure as
-#                                   PlatformModuleClasses
-# @var FlashDefinitionFile:         To store value for FlashDefinitionFile, it is a structure as
-#                                   PlatformFlashDefinitionFileClass
-# @var Prebuild:                    To store value for PREBUILD, it is a structure as
-#                                   BuildScriptClass
-# @var Postbuild:                   To store value for POSTBUILD, it is a structure as
-#                                   BuildScriptClass
-# @var BuildOptions:                To store value for BuildOptions, it is a structure as
-#                                   PlatformBuildOptionClasses
-# @var DynamicPcdBuildDefinitions:  To store value for DynamicPcdBuildDefinitions, it is a list structure as
-#                                   [ PcdClass, ...]
-# @var Fdf:                         To store value for Fdf, it is a list structure as
-#                                   [ FdfClass, ...]
-# @var UserExtensions:              To store value for UserExtensions, it is a list structure as
-#                                   [ UserExtensionsClass, ...]
-#
-class PlatformClass(object):
-    def __init__(self):
-        self.Header = {}
-        self.SkuInfos = SkuInfoListClass()
-        self.Libraries = PlatformLibraryClasses()
-        self.LibraryClasses = PlatformLibraryClasses()
-        self.Modules = PlatformModuleClasses()
-        self.FlashDefinitionFile = PlatformFlashDefinitionFileClass()
-        self.Prebuild = BuildScriptClass()
-        self.Postbuild = BuildScriptClass()
-        self.BuildOptions = PlatformBuildOptionClasses()
-        self.DynamicPcdBuildDefinitions = []
-        self.Fdf = []
-        self.UserExtensions = []
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
-    P = PlatformClass()
diff --git a/BaseTools/Source/Python/Makefile b/BaseTools/Source/Python/Makefile
index a51207d3d831..527d766bf4c2 100644
--- a/BaseTools/Source/Python/Makefile
+++ b/BaseTools/Source/Python/Makefile
@@ -58,7 +58,6 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\DataClass.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\Exceptions.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\FdfClass.py \
-              $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PlatformClass.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\Table.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\TableDataModel.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\TableDec.py \
-- 
2.16.2.windows.1



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

* Re: [PATCH v2 1/1] BaseTools: remove PlatformClass as it's not used
  2018-04-19 15:12     ` [PATCH v2 1/1] BaseTools: remove PlatformClass as it's " Jaben Carsey
@ 2018-04-23  3:13       ` Zhu, Yonghong
  0 siblings, 0 replies; 4+ messages in thread
From: Zhu, Yonghong @ 2018-04-23  3:13 UTC (permalink / raw)
  To: Carsey, Jaben, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong

Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> 

Best Regards,
Zhu Yonghong


-----Original Message-----
From: Carsey, Jaben 
Sent: Thursday, April 19, 2018 11:13 PM
To: edk2-devel@lists.01.org
Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
Subject: [PATCH v2 1/1] BaseTools: remove PlatformClass as it's not used

v2 - update makefile too.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
 BaseTools/Source/Python/CommonDataClass/PlatformClass.py | 456 --------------------
 BaseTools/Source/Python/Makefile                         |   1 -
 2 files changed, 457 deletions(-)

diff --git a/BaseTools/Source/Python/CommonDataClass/PlatformClass.py b/BaseTools/Source/Python/CommonDataClass/PlatformClass.py
deleted file mode 100644
index a93d1ce2a1db..000000000000
--- a/BaseTools/Source/Python/CommonDataClass/PlatformClass.py
+++ /dev/null
@@ -1,456 +0,0 @@
-## @file
-# This file is used to define a class object to describe a platform -# -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR> -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution.    The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-##
-# Import Modules
-#
-from CommonClass import *
-
-## SkuInfoListClass
-#
-# This class defined sku info list item used in platform file -# -# @param IncludeStatementClass:  Inherited from IncludeStatementClass class -#
-# @var SkuInfoList:              To store value for SkuInfoList, it is a set structure as
-#                                { SkuName : SkuId }
-#
-class SkuInfoListClass(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.SkuInfoList = {}
-
-## PlatformHeaderClass
-#
-# This class defined header items used in Platform file -# 
-# @param IdentificationClass:    Inherited from IdentificationClass class
-# @param CommonHeaderClass:      Inherited from CommonHeaderClass class
-# @param DefineClass:            Inherited from DefineClass class
-#
-# @var DscSpecification:         To store value for DscSpecification
-# @var SupArchList:              To store value for SupArchList, selection scope is in below list
-#                                EBC | IA32 | X64 | IPF | ARM | PPC | AARCH64
-# @var BuildTargets:             To store value for BuildTargets, selection scope is in below list
-#                                RELEASE | DEBUG
-# @var IntermediateDirectories:  To store value for IntermediateDirectories, selection scope is in below list
-#                                MODULE | UNIFIED
-# @var OutputDirectory:          To store value for OutputDirectory
-# @var ForceDebugTarget:         To store value for ForceDebugTarget
-# @var SkuIdName:                To store value for SkuIdName
-# @var BuildNumber:              To store value for BuildNumber
-# @var MakefileName:             To store value for MakefileName
-# @var ClonedFrom:               To store value for ClonedFrom, it is a list structure as
-#                                [ ClonedRecordClass, ... ]
-#
-class PlatformHeaderClass(IdentificationClass, CommonHeaderClass, DefineClass):
-    def __init__(self):
-        IdentificationClass.__init__(self)
-        CommonHeaderClass.__init__(self)
-        DefineClass.__init__(self)
-        self.DscSpecification = ''
-        self.SupArchList = []
-        self.BuildTargets = []
-        self.IntermediateDirectories = ''
-        self.OutputDirectory = ''                                                    
-        self.ForceDebugTarget = ''
-        self.SkuIdName = []
-        self.BuildNumber = ''
-        self.MakefileName = ''
-        self.ClonedFrom = []
-
-## PlatformFlashDefinitionFileClass
-#
-# This class defined FlashDefinitionFile item used in platform file -# 
-# @param object:   Inherited from object class
-#
-# @var Id:         To store value for Id
-# @var UiName:     To store value for UiName
-# @var Preferred:  To store value for Preferred
-# @var FilePath:   To store value for FilePath
-#
-class PlatformFlashDefinitionFileClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.UiName = ''
-        self.Preferred = False
-        self.FilePath = ''
-
-## BuildScriptClass
-#
-# This class defined PREBUILD/POSTBUILD item used in platform file -#
-# @param object:   Inherited from object class
-#
-# @var Id:         To store value for Id
-# @var UiName:     To store value for UiName
-# @var Preferred:  To store value for Preferred
-# @var FilePath:   To store value for FilePath
-#
-class BuildScriptClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.UiName = ''
-        self.Preferred = False
-        self.FilePath = ''
-
-## PlatformFvImageOptionClass
-#
-# This class defined FvImageOption item used in platform file -# 
-# @param object:             Inherited from object class
-#
-# @var FvImageOptionName:    To store value for FvImageOptionName
-# @var FvImageOptionValues:  To store value for FvImageOptionValues -# -class PlatformFvImageOptionClass(object):
-    def __init__(self):
-        self.FvImageOptionName = ''
-        self.FvImageOptionValues = []
-
-## PlatformFvImageClass
-#
-# This class defined FvImage item used in platform file -# 
-# @param object:        Inherited from object class
-#
-# @var Name:            To store value for Name
-# @var Value:           To store value for Value
-# @var Type:            To store value for Type, selection scope is in below list
-#                       Attributes | Options | Components | ImageName 
-# @var FvImageNames:    To store value for FvImageNames
-# @var FvImageOptions:  To store value for FvImageOptions, it is a list structure as
-#                       [ PlatformFvImageOption, ...]
-#
-class PlatformFvImageClass(object):
-    def __init__(self):
-        self.Name = ''
-        self.Value = ''
-        self.Type = ''
-        self.FvImageNames = []
-        self.FvImageOptions = []
-
-## PlatformFvImageNameClass
-#
-# This class defined FvImageName item used in platform file -# 
-# @param object:        Inherited from object class
-#
-# @var Name:            To store value for Name
-# @var Type:            To store value for Type, selection scope is in below list
-#                       FV_MAIN | FV_MAIN_COMPACT | NV_STORAGE | FV_RECOVERY | FV_RECOVERY_FLOPPY | FV_FILE | CAPSULE_CARGO | NULL | USER_DEFINED 
-# @var FvImageOptions:  To store value for FvImageOptions, it is a list structure as
-#                       [ PlatformFvImageOption, ...]
-#
-class PlatformFvImageNameClass(object):
-    def __init__(self):
-        self.Name = ''
-        self.Type = ''
-        self.FvImageOptions = []
-
-## PlatformFvImagesClass
-#
-# This class defined FvImages item used in platform file -# -# @param object:  Inherited from object class -# -# @var FvImages:  To store value for FvImages -# -class PlatformFvImagesClass(object):
-    def __init__(self):
-        self.FvImages = []
-
-## PlatformAntTaskClass
-#
-# This class defined AntTask item used in platform file -# 
-# @param object:       Inherited from object class
-#
-# @var Id:             To store value for Id
-# @var AntCmdOptions:  To store value for AntCmdOptions
-# @var FilePath:       To store value for FilePath
-#
-class PlatformAntTaskClass(object):
-    def __init__(self):
-        self.Id = ''
-        self.AntCmdOptions = ''
-        self.FilePath = ''
-
-## PlatformFfsSectionClass
-#
-# This class defined FfsSection item used in platform file -# 
-# @param CommonClass:        Inherited from CommonClass class
-#
-# @var BindingOrder:         To store value for BindingOrder
-# @var Compressible:         To store value for Compressible
-# @var SectionType:          To store value for SectionType
-# @var EncapsulationType:    To store value for EncapsulationType
-# @var ToolName:             To store value for ToolName
-# @var Filenames:            To store value for Filenames
-# @var Args:                 To store value for Args
-# @var OutFile:              To store value for OutFile
-# @var OutputFileExtension:  To store value for OutputFileExtension
-# @var ToolNameElement:      To store value for ToolNameElement
-#
-class PlatformFfsSectionClass(CommonClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        self.BindingOrder = ''
-        self.Compressible = ''
-        self.SectionType  = ''
-        self.EncapsulationType  = ''
-        self.ToolName = ''
-        self.Filenames = []
-        self.Args = ''
-        self.OutFile = ''
-        self.OutputFileExtension = ''
-        self.ToolNameElement = ''
-
-## PlatformFfsSectionsClass
-#
-# This class defined FfsSections item used in platform file -# 
-# @param CommonClass:      Inherited from CommonClass class
-#
-# @var BindingOrder:       To store value for BindingOrder
-# @var Compressible:       To store value for Compressible
-# @var SectionType:        To store value for SectionType
-# @var EncapsulationType:  To store value for EncapsulationType
-# @var ToolName:           To store value for ToolName
-# @var Section:            To store value for Section, it is a list structure as
-#                          [ PlatformFfsSectionClass, ... ]
-# @var Sections:           To store value for Sections, it is a list structure as
-#                          [ PlatformFfsSectionsClass, ...]
-#
-class PlatformFfsSectionsClass(CommonClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        self.BindingOrder = ''
-        self.Compressible = ''
-        self.SectionType = ''
-        self.EncapsulationType = ''
-        self.ToolName = ''
-        self.Section = []
-        self.Sections = []
-
-## PlatformFfsClass
-#
-# This class defined Ffs item used in platform file -# 
-# @param object:   Inherited from object class
-#
-# @var Attribute:  To store value for Attribute, it is a set structure as
-#                  { [(Name, PlatformFfsSectionsClass)] : Value}
-# @var Sections:   To store value for Sections, it is a list structure as
-#                  [ PlatformFfsSectionsClass]
-# @var ToolName:   To store value for ToolName
-#
-class PlatformFfsClass(object):
-    def __init__(self):
-        self.Attribute = {}
-        self.Sections = []
-        self.Key = ''
-
-## PlatformBuildOptionClass
-#
-# This class defined BuildOption item used in platform file -# 
-# @param object:             Inherited from object class
-#
-# @var UserDefinedAntTasks:  To store value for UserDefinedAntTasks, it is a set structure as
-#                            { [Id] : PlatformAntTaskClass, ...}
-# @var Options:              To store value for Options, it is a list structure as
-#                            [ BuildOptionClass, ...]
-# @var UserExtensions:       To store value for UserExtensions, it is a set structure as
-#                            { [(UserID, Identifier)] : UserExtensionsClass, ...}
-# @var FfsKeyList:           To store value for FfsKeyList, it is a set structure as
-#                            { [FfsKey]: PlatformFfsClass, ...} 
-#
-class PlatformBuildOptionClass(object):
-    def __init__(self):
-        self.UserDefinedAntTasks = {}
-        self.Options = []
-        self.UserExtensions = {}
-        self.FfsKeyList = {}
-
-## PlatformBuildOptionClasses
-#
-# This class defined BuildOption item list used in platform file -# -# @param IncludeStatementClass:  Inherited from IncludeStatementClass class -#
-# @var FvBinding:                To store value for FvBinding
-# @var FfsFileNameGuid:          To store value for FfsFileNameGuid
-# @var FfsFormatKey:             To store value for FfsFormatKey
-# @var BuildOptionList:          To store value for BuildOptionList, it is a list structure as
-#                                [ BuildOptionClass, ... ]
-#
-class PlatformBuildOptionClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.FvBinding = ''
-        self.FfsFileNameGuid = ''
-        self.FfsFormatKey = ''
-        self.BuildOptionList = []
-
-## PlatformLibraryClass
-#
-# This class defined Library item used in platform file -# 
-# @param CommonClass:   Inherited from CommonClass class
-# @param DefineClass:   Inherited from DefineClass class
-# @param Name:          Input value for Name, default is ''
-# @param FilePath:      Input value for FilePath, default is ''
-#
-# @var Name:            To store value for Name
-# @var FilePath:        To store value for FilePath
-# @var ModuleType:      To store value for ModuleType
-# @var SupModuleList:   To store value for SupModuleList
-# @var ModuleGuid:      To store value for ModuleGuid
-# @var ModuleVersion:   To store value for ModuleVersion
-# @var PackageGuid:     To store value for PackageGuid
-# @var PackageVersion:  To store value for PackageVersion -# -class PlatformLibraryClass(CommonClass, DefineClass):
-    def __init__(self, Name = '', FilePath = ''):
-        CommonClass.__init__(self)
-        DefineClass.__init__(self)
-        self.Name = Name
-        self.FilePath = FilePath
-        self.ModuleType = []
-        self.SupModuleList = []
-        self.ModuleGuid = ''
-        self.ModuleVersion = ''
-        self.PackageGuid = ''
-        self.PackageVersion = ''
-
-## PlatformLibraryClasses
-#
-# This class defined Library item list used in platform file -# -# @param IncludeStatementClass:  Inherited from IncludeStatementClass class -#
-# @var LibraryList:              To store value for LibraryList, it is a list structure as
-#                                [ PlatformLibraryClass, ... ]
-#
-class PlatformLibraryClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.LibraryList = []
-
-## PlatformModuleClass
-#
-# This class defined Module item used in platform file -# 
-# @param CommonClass:            Inherited from CommonClass class
-# @param DefineClass:            Inherited from DefineClass class
-# @param IncludeStatementClass:  Inherited from IncludeStatementClass class -#
-# @var Name:                     To store value for Name (Library name or libraryclass name or module name)
-# @var FilePath:                 To store value for FilePath
-# @var Type:                     To store value for Type, selection scope is in below list
-#                                LIBRARY | LIBRARY_CLASS | MODULE
-# @var ModuleType:               To store value for ModuleType
-# @var ExecFilePath:             To store value for ExecFilePath
-# @var LibraryClasses:           To store value for LibraryClasses, it is a structure as
-#                                PlatformLibraryClasses
-# @var PcdBuildDefinitions:      To store value for PcdBuildDefinitions, it is a list structure as
-#                                [ PcdClass, ...]
-# @var ModuleSaBuildOption:      To store value for ModuleSaBuildOption, it is a structure as
-#                                PlatformBuildOptionClasses
-# @var Specifications:           To store value for Specifications, it is a list structure as
-#                                [ '', '', ...]
-#
-class PlatformModuleClass(CommonClass, DefineClass, IncludeStatementClass):
-    def __init__(self):
-        CommonClass.__init__(self)
-        DefineClass.__init__(self)
-        self.Name = ''
-        self.FilePath = ''
-        self.Type = ''
-        self.ModuleType = ''
-        self.ExecFilePath = ''
-        self.LibraryClasses = PlatformLibraryClasses()
-        self.PcdBuildDefinitions = []
-        self.ModuleSaBuildOption = PlatformBuildOptionClasses()
-        self.Specifications = []
-        self.SourceOverridePath = ''
-
-## PlatformModuleClasses
-#
-# This class defined Module item list used in platform file -# -# @param IncludeStatementClass:  Inherited from IncludeStatementClass class -#
-# @var ModuleList:               To store value for ModuleList, it is a list structure as
-#                                [ PlatformModuleClass, ... ]
-#
-class PlatformModuleClasses(IncludeStatementClass):
-    def __init__(self):
-        IncludeStatementClass.__init__(self)
-        self.ModuleList = []
-
-## PlatformClass
-#
-# This class defined a complete platform item -# 
-# @param object:                    Inherited from object class
-#
-# @var Header:                      To store value for Header, it is a structure as
-#                                   {Arch : PlatformHeaderClass()}
-# @var SkuInfos:                    To store value for SkuInfos, it is a structure as
-#                                   SkuInfoListClass
-# @var Libraries:                   To store value for Libraries, it is a structure as
-#                                   PlatformLibraryClasses
-# @var LibraryClasses:              To store value for LibraryClasses, it is a structure as
-#                                   PlatformLibraryClasses
-# @var Modules:                     To store value for Modules, it is a structure as
-#                                   PlatformModuleClasses
-# @var FlashDefinitionFile:         To store value for FlashDefinitionFile, it is a structure as
-#                                   PlatformFlashDefinitionFileClass
-# @var Prebuild:                    To store value for PREBUILD, it is a structure as
-#                                   BuildScriptClass
-# @var Postbuild:                   To store value for POSTBUILD, it is a structure as
-#                                   BuildScriptClass
-# @var BuildOptions:                To store value for BuildOptions, it is a structure as
-#                                   PlatformBuildOptionClasses
-# @var DynamicPcdBuildDefinitions:  To store value for DynamicPcdBuildDefinitions, it is a list structure as
-#                                   [ PcdClass, ...]
-# @var Fdf:                         To store value for Fdf, it is a list structure as
-#                                   [ FdfClass, ...]
-# @var UserExtensions:              To store value for UserExtensions, it is a list structure as
-#                                   [ UserExtensionsClass, ...]
-#
-class PlatformClass(object):
-    def __init__(self):
-        self.Header = {}
-        self.SkuInfos = SkuInfoListClass()
-        self.Libraries = PlatformLibraryClasses()
-        self.LibraryClasses = PlatformLibraryClasses()
-        self.Modules = PlatformModuleClasses()
-        self.FlashDefinitionFile = PlatformFlashDefinitionFileClass()
-        self.Prebuild = BuildScriptClass()
-        self.Postbuild = BuildScriptClass()
-        self.BuildOptions = PlatformBuildOptionClasses()
-        self.DynamicPcdBuildDefinitions = []
-        self.Fdf = []
-        self.UserExtensions = []
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another -# script.
-#
-if __name__ == '__main__':
-    P = PlatformClass()
diff --git a/BaseTools/Source/Python/Makefile b/BaseTools/Source/Python/Makefile
index a51207d3d831..527d766bf4c2 100644
--- a/BaseTools/Source/Python/Makefile
+++ b/BaseTools/Source/Python/Makefile
@@ -58,7 +58,6 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\DataClass.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\Exceptions.py \
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\FdfClass.py \
-              $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PlatformClass.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\Table.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\TableDataModel.py \
               $(BASE_TOOLS_PATH)\Source\Python\Table\TableDec.py \
--
2.16.2.windows.1



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

* Re: [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its not used.
  2018-04-19 15:12 ` [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its not used Jaben Carsey
       [not found]   ` <cover.1524150680.git.jaben.carsey@intel.com>
@ 2018-04-23  3:13   ` Zhu, Yonghong
  1 sibling, 0 replies; 4+ messages in thread
From: Zhu, Yonghong @ 2018-04-23  3:13 UTC (permalink / raw)
  To: Carsey, Jaben, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong

Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> 

Best Regards,
Zhu Yonghong


-----Original Message-----
From: Carsey, Jaben 
Sent: Thursday, April 19, 2018 11:13 PM
To: edk2-devel@lists.01.org
Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
Subject: [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its not used.

v2 - update makefile too.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
 BaseTools/Source/Python/Common/EdkIIWorkspace.py | 317 --------------------
 BaseTools/Source/Python/Makefile                 |   1 -
 2 files changed, 318 deletions(-)

diff --git a/BaseTools/Source/Python/Common/EdkIIWorkspace.py b/BaseTools/Source/Python/Common/EdkIIWorkspace.py
deleted file mode 100644
index d75b9f8025b3..000000000000
--- a/BaseTools/Source/Python/Common/EdkIIWorkspace.py
+++ /dev/null
@@ -1,317 +0,0 @@
-## @file
-# This is the base class for applications that operate on an EDK II Workspace -# -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution.  The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import Common.LongFilePathOs as os, sys, time -from DataType import * -from Common.LongFilePathSupport import OpenLongFilePath as open -from Common.MultipleWorkspace import MultipleWorkspace as mws
-
-## EdkIIWorkspace
-#
-# Collect WorkspaceDir from the environment, the Verbose command line flag, and detect an icon bitmap file.
-# 
-# @var StartTime:       Time of build system starting
-# @var PrintRunTime:    Printable time of build system running
-# @var PrintRunStatus:  Printable status of build system running
-# @var RunStatus:       Status of build system running
-#
-class EdkIIWorkspace:
-    def __init__(self):
-        self.StartTime = time.time()
-        self.PrintRunTime = False
-        self.PrintRunStatus = False
-        self.RunStatus = ''
-        
-        #
-        # Check environment valiable 'WORKSPACE'
-        #
-        if os.environ.get('WORKSPACE') is None:
-            print 'ERROR: WORKSPACE not defined.    Please run EdkSetup from the EDK II install directory.'
-            return False
-
-        self.CurrentWorkingDir = os.getcwd()
-        
-        self.WorkspaceDir = os.path.realpath(os.environ.get('WORKSPACE'))
-        (Drive, Path) = os.path.splitdrive(self.WorkspaceDir)
-        if Drive == '':
-            (Drive, CwdPath) = os.path.splitdrive(self.CurrentWorkingDir)
-            if Drive != '':
-                self.WorkspaceDir = Drive + Path
-        else:
-            self.WorkspaceDir = Drive.upper() + Path
-
-        self.WorkspaceRelativeWorkingDir = self.WorkspaceRelativePath (self.CurrentWorkingDir)
-            
-        try:
-            #
-            # Load TianoCoreOrgLogo, used for GUI tool
-            #
-            self.Icon = wx.Icon(self.WorkspaceFile('tools/Python/TianoCoreOrgLogo.gif'), wx.BITMAP_TYPE_GIF)
-        except:
-            self.Icon = None
-            
-        self.Verbose = False
-        for Arg in sys.argv:
-            if Arg.lower() == '-v':
-                self.Verbose = True
-    
-    ## Close build system
-    #
-    # Close build system and print running time and status
-    #
-    def Close(self):
-        if self.PrintRunTime:
-            Seconds = int(time.time() - self.StartTime)
-            if Seconds < 60:
-                print 'Run Time: %d seconds' % (Seconds)
-            else:
-                Minutes = Seconds / 60
-                Seconds = Seconds % 60
-                if Minutes < 60:
-                    print 'Run Time: %d minutes %d seconds' % (Minutes, Seconds)
-                else:
-                    Hours = Minutes / 60
-                    Minutes = Minutes % 60
-                    print 'Run Time: %d hours %d minutes %d seconds' % (Hours, Minutes, Seconds)
-        if self.RunStatus != '':
-            print self.RunStatus
-
-    ## Convert to a workspace relative filename
-    #
-    # Convert a full path filename to a workspace relative filename.
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval None    Workspace dir is not found in the full path
-    # @retval string  The relative filename
-    #
-    def WorkspaceRelativePath(self, FileName):
-        FileName = os.path.realpath(FileName)
-        if FileName.find(self.WorkspaceDir) != 0:
-            return None
-        return FileName.replace (self.WorkspaceDir, '').strip('\\').strip('/')
-
-    ## Convert to a full path filename
-    #
-    # Convert a workspace relative filename to a full path filename.
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval string  The full path filename
-    #
-    def WorkspaceFile(self, FileName):
-        return os.path.realpath(mws.join(self.WorkspaceDir,FileName))
-
-    ## Convert to a real path filename
-    #
-    # Convert ${WORKSPACE} to real path
-    #
-    # @param FileName:  The filename to be Converted
-    #
-    # @retval string  The full path filename
-    #
-    def WorkspacePathConvert(self, FileName):
-        return os.path.realpath(FileName.replace(TAB_WORKSPACE, self.WorkspaceDir))
-
-    ## Convert XML into a DOM
-    #
-    # Parse an XML file into a DOM and return the DOM.
-    #
-    # @param FileName:  The filename to be parsed
-    #
-    # @retval XmlParseFile (self.WorkspaceFile(FileName))
-    #
-    def XmlParseFile (self, FileName):
-        if self.Verbose:
-            print FileName
-        return XmlParseFile (self.WorkspaceFile(FileName))
-
-    ## Convert a XML section
-    #
-    # Parse a section of an XML file into a DOM(Document Object Model) and return the DOM.
-    #
-    # @param FileName:    The filename to be parsed
-    # @param SectionTag:  The tag name of the section to be parsed
-    #
-    # @retval XmlParseFileSection (self.WorkspaceFile(FileName), SectionTag)
-    #
-    def XmlParseFileSection (self, FileName, SectionTag):
-        if self.Verbose:
-            print FileName
-        return XmlParseFileSection (self.WorkspaceFile(FileName), SectionTag)
-
-    ## Save a XML file
-    #
-    # Save a DOM(Document Object Model) into an XML file.
-    #
-    # @param Dom:       The Dom to be saved
-    # @param FileName:  The filename
-    #
-    # @retval XmlSaveFile (Dom, self.WorkspaceFile(FileName))
-    #
-    def XmlSaveFile (self, Dom, FileName):
-        if self.Verbose:
-            print FileName
-        return XmlSaveFile (Dom, self.WorkspaceFile(FileName))
-
-    ## Convert Text File To Dictionary
-    #
-    # Convert a workspace relative text file to a dictionary of (name:value) pairs.
-    #
-    # @param FileName:             Text filename
-    # @param Dictionary:           Dictionary to store data
-    # @param CommentCharacter:     Comment char, be used to ignore comment content
-    # @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-    # @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-    # @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-    #
-    # @retval ConvertTextFileToDictionary(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-    #
-    def ConvertTextFileToDictionary(self, FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-        if self.Verbose:
-            print FileName
-        return ConvertTextFileToDictionary(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-
-    ## Convert Dictionary To Text File
-    #
-    # Convert a dictionary of (name:value) pairs to a workspace relative text file.
-    #
-    # @param FileName:             Text filename
-    # @param Dictionary:           Dictionary to store data
-    # @param CommentCharacter:     Comment char, be used to ignore comment content
-    # @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-    # @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-    # @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char
-    #
-    # @retval ConvertDictionaryToTextFile(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-    #
-    def ConvertDictionaryToTextFile(self, FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-        if self.Verbose:
-            print FileName
-        return ConvertDictionaryToTextFile(self.WorkspaceFile(FileName), Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter)
-
-## Convert Text File To Dictionary
-#
-# Convert a text file to a dictionary of (name:value) pairs.
-#
-# @param FileName:             Text filename
-# @param Dictionary:           Dictionary to store data
-# @param CommentCharacter:     Comment char, be used to ignore comment content
-# @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-# @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-# @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char -# -# @retval True  Convert successfully -# @retval False Open file failed -# -def ConvertTextFileToDictionary(FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-    try:
-        F = open(FileName, 'r')
-    except:
-        return False
-    Keys = []
-    for Line in F:
-        LineList = Line.split(KeySplitCharacter, 1)
-        if len(LineList) >= 2:
-            Key = LineList[0].split()
-            if len(Key) == 1 and Key[0][0] != CommentCharacter and Key[0] not in Keys:
-                if ValueSplitFlag:
-                    Dictionary[Key[0]] = LineList[1].replace('\\', '/').split(ValueSplitCharacter)
-                else:
-                    Dictionary[Key[0]] = LineList[1].strip().replace('\\', '/')
-                Keys += [Key[0]]
-    F.close()
-    return True
-
-## Convert Dictionary To Text File
-#
-# Convert a dictionary of (name:value) pairs to a text file.
-#
-# @param FileName:             Text filename
-# @param Dictionary:           Dictionary to store data
-# @param CommentCharacter:     Comment char, be used to ignore comment content
-# @param KeySplitCharacter:    Key split char, between key name and key value. Key1 = Value1, '=' is the key split char
-# @param ValueSplitFlag:       Value split flag, be used to decide if has multiple values
-# @param ValueSplitCharacter:  Value split char, be used to split multiple values. Key1 = Value1|Value2, '|' is the value split char -# -# @retval True  Convert successfully -# @retval False Open file failed -# -def ConvertDictionaryToTextFile(FileName, Dictionary, CommentCharacter, KeySplitCharacter, ValueSplitFlag, ValueSplitCharacter):
-    try:
-        F = open(FileName, 'r')
-        Lines = []
-        Lines = F.readlines()
-        F.close()
-    except:
-        Lines = []
-    Keys = Dictionary.keys()
-    MaxLength = max(map(len,Keys))
-    Index = 0
-    for Line in Lines:
-        LineList = Line.split(KeySplitCharacter, 1)
-        if len(LineList) >= 2:
-            Key = LineList[0].split()
-            if len(Key) == 1 and Key[0][0] != CommentCharacter and Key[0] in Dictionary:
-                if ValueSplitFlag:
-                    Line = '%-*s %c %s\n' % (MaxLength, Key[0], KeySplitCharacter, ' '.join(Dictionary[Key[0]]))
-                else:
-                    Line = '%-*s %c %s\n' % (MaxLength, Key[0], KeySplitCharacter, Dictionary[Key[0]])
-                Lines.pop(Index)
-                if Key[0] in Keys:
-                    Lines.insert(Index, Line)
-                    Keys.remove(Key[0])
-        Index += 1
-    for RemainingKey in Keys:
-        if ValueSplitFlag:
-            Line = '%-*s %c %s\n' % (MaxLength, RemainingKey, KeySplitCharacter, ' '.join(Dictionary[RemainingKey]))
-        else:
-            Line = '%-*s %c %s\n' % (MaxLength, RemainingKey, KeySplitCharacter, Dictionary[RemainingKey])
-        Lines.append(Line)
-    try:
-        F = open(FileName, 'w')
-    except:
-        return False
-    F.writelines(Lines)
-    F.close()
-    return True
-
-## Create a new directory
-#
-# @param Directory:           Directory to be created
-#
-def CreateDirectory(Directory):
-    if not os.access(Directory, os.F_OK):
-        os.makedirs (Directory)
-
-## Create a new file
-#
-# @param Directory:  Directory to be created
-# @param FileName:   Filename to be created
-# @param Mode:       The mode of open file, defautl is 'w'
-#
-def CreateFile(Directory, FileName, Mode='w'):
-    CreateDirectory (Directory)
-    return open(os.path.join(Directory, FileName), Mode)
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another -# script.
-#
-if __name__ == '__main__':
-    # Nothing to do here. Could do some unit tests
-    pass
\ No newline at end of file
diff --git a/BaseTools/Source/Python/Makefile b/BaseTools/Source/Python/Makefile
index a51207d3d831..4fda6d7e0c84 100644
--- a/BaseTools/Source/Python/Makefile
+++ b/BaseTools/Source/Python/Makefile
@@ -37,7 +37,6 @@ APPLICATIONS=$(BIN_DIR)\build.exe $(BIN_DIR)\GenFds.exe $(BIN_DIR)\Trim.exe $(BI  COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \
-              $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \
--
2.16.2.windows.1



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

end of thread, other threads:[~2018-04-23  3:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <cover.1524150605.git.jaben.carsey@intel.com>
2018-04-19 15:12 ` [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its not used Jaben Carsey
     [not found]   ` <cover.1524150680.git.jaben.carsey@intel.com>
2018-04-19 15:12     ` [PATCH v2 1/1] BaseTools: remove PlatformClass as it's " Jaben Carsey
2018-04-23  3:13       ` Zhu, Yonghong
2018-04-23  3:13   ` [PATCH v2 1/1] BaseTools: remove EdkIIWorkspace as its " Zhu, Yonghong

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