From: "Fan, ZhijuX" <zhijux.fan@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Gao, Liming" <liming.gao@intel.com>,
"Feng, Bob C" <bob.c.feng@intel.com>
Subject: [PATCH] BaseTools:Updata the Judgment Method of "--exclude"
Date: Thu, 27 Jun 2019 02:54:55 +0000 [thread overview]
Message-ID: <FAD0D7E0AE0FA54D987F6E72435CAFD50AF85016@SHSMSX101.ccr.corp.intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2596 bytes --]
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>
---
BaseTools/Scripts/FormatDosFiles.py | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/BaseTools/Scripts/FormatDosFiles.py b/BaseTools/Scripts/FormatDosFiles.py
index d9a880f299..7a5af209f2 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) 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,22 @@ 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):
+ Continue = True
+ elif os.path.isfile(Path):
+ for ItemPath in FileNames[:]:
+ 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
[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 4380 bytes --]
next reply other threads:[~2019-06-27 2:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-27 2:54 Fan, ZhijuX [this message]
2019-06-27 7:36 ` [PATCH] BaseTools:Updata the Judgment Method of "--exclude" Liming Gao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=FAD0D7E0AE0FA54D987F6E72435CAFD50AF85016@SHSMSX101.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox