Zhiju: Thanks for your fix. Can you list your test case? Thanks Liming >-----Original Message----- >From: Fan, ZhijuX >Sent: Friday, June 28, 2019 3:01 PM >To: devel@edk2.groups.io >Cc: Gao, Liming <liming....@intel.com>; Feng, Bob C <bob.c.f...@intel.com> >Subject: [PATCH V2] 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....@intel.com> >Cc: Bob Feng <bob.c.f...@intel.com> >Signed-off-by: Zhiju.Fan <zhijux....@intel.com> >--- >keep original behavior on >--exclude for the directory name or file name. > > BaseTools/Scripts/FormatDosFiles.py | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > >diff --git a/BaseTools/Scripts/FormatDosFiles.py >b/BaseTools/Scripts/FormatDosFiles.py >index d9a880f299..3150bef3c2 100644 >--- a/BaseTools/Scripts/FormatDosFiles.py >+++ b/BaseTools/Scripts/FormatDosFiles.py >@@ -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: >-- >2.14.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43386): https://edk2.groups.io/g/devel/message/43386 Mute This Topic: https://groups.io/mt/32239581/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-