[edk2-devel] [PATCH] BaseTools:Updata the Judgment Method of "--exclude"

Liming Gao liming.gao at intel.com
Thu Jun 27 07:36:37 UTC 2019


Zhiju:
  Please keep original behavior on --exclude for the directory name or file name. 

> -----Original Message-----
> From: Fan, ZhijuX
> Sent: Thursday, June 27, 2019 10:55 AM
> To: devel at edk2.groups.io
> Cc: Gao, Liming <liming.gao at intel.com>; Feng, Bob C <bob.c.feng at intel.com>
> Subject: [PATCH] BaseTools:Updata 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 at intel.com>
> Cc: Bob Feng <bob.c.feng at intel.com>
> Signed-off-by: Zhiju.Fan <zhijux.fan at 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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42922): https://edk2.groups.io/g/devel/message/42922
Mute This Topic: https://groups.io/mt/32227595/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list