mirror of https://github.com/acidanthera/audk.git
BaseTools:Add the Judgment Method of "--exclude"
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1944 --exclude cannot be used under certain circumstances 1.The value of the parameter USES an absolute path 2.The value of Exclude parameters is based on the value of the Path parameter Neither of these approaches currently works This patch is going to fix that issue. Cc: Liming Gao <liming.gao@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
96603b4f02
commit
35ec41803c
|
@ -20,7 +20,7 @@ import copy
|
|||
|
||||
__prog__ = 'FormatDosFiles'
|
||||
__version__ = '%s Version %s' % (__prog__, '0.10 ')
|
||||
__copyright__ = 'Copyright (c) 2018, Intel Corporation. All rights reserved.'
|
||||
__copyright__ = 'Copyright (c) 2018-2019, Intel Corporation. All rights reserved.'
|
||||
__description__ = 'Convert source files to meet the EDKII C Coding Standards Specification.\n'
|
||||
DEFAULT_EXT_LIST = ['.h', '.c', '.nasm', '.nasmb', '.asm', '.S', '.inf', '.dec', '.dsc', '.fdf', '.uni', '.asl', '.aslc', '.vfr', '.idf', '.txt', '.bat', '.py']
|
||||
|
||||
|
@ -46,10 +46,26 @@ def FormatFile(FilePath, Args):
|
|||
def FormatFilesInDir(DirPath, ExtList, Args):
|
||||
|
||||
FileList = []
|
||||
ExcludeDir = DirPath
|
||||
for DirPath, DirNames, FileNames in os.walk(DirPath):
|
||||
if Args.Exclude:
|
||||
DirNames[:] = [d for d in DirNames if d not in Args.Exclude]
|
||||
FileNames[:] = [f for f in FileNames if f not in Args.Exclude]
|
||||
Continue = False
|
||||
for Path in Args.Exclude:
|
||||
if not os.path.isdir(Path) and not os.path.isfile(Path):
|
||||
Path = os.path.join(ExcludeDir, Path)
|
||||
if os.path.isdir(Path) and Path.endswith(DirPath):
|
||||
DirNames[:] = []
|
||||
Continue = True
|
||||
elif os.path.isfile(Path):
|
||||
FilePaths = FileNames
|
||||
for ItemPath in FilePaths:
|
||||
FilePath = os.path.join(DirPath, ItemPath)
|
||||
if Path.endswith(FilePath):
|
||||
FileNames.remove(ItemPath)
|
||||
if Continue:
|
||||
continue
|
||||
for FileName in [f for f in FileNames if any(f.endswith(ext) for ext in ExtList)]:
|
||||
FileList.append(os.path.join(DirPath, FileName))
|
||||
for File in FileList:
|
||||
|
|
Loading…
Reference in New Issue