mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
BaseTools: Clean up os.path.normcase and os.path.normpath usage
Refer to the docs of python, `os.path.normcase(path)` function: "Normalize the case of a pathname. On Windows, convert all characters in the pathname to lowercase, and also convert forward slashes to backward slashes. On other operating systems, return the path unchanged." `os.path.normpath(path)` also convert forward slashes to backward slashes. So call `os.path.normcase` after `os.path.normpath` just convert path to lowercase on Windows(only). And Windows is case-insensitive but case-preserving. So the usage of `os.path.normcase(os.path.normpath(path))` can be simplified to `os.path.normpath(path)`. Then we can use case-preserving paths rather than lowercase paths in compile_commands.json file or build log. But this patch continue to use `os.path.normcase` when comparing/searching paths. Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
This commit is contained in:
parent
8593eca048
commit
3ac092cf72
@ -34,7 +34,7 @@ class MultipleWorkspace(object):
|
||||
#
|
||||
@classmethod
|
||||
def convertPackagePath(cls, Ws, Path):
|
||||
if str(os.path.normcase (Path)).startswith(Ws):
|
||||
if str(os.path.normcase (os.path.normpath(Path))).startswith(os.path.normcase(os.path.normpath(Ws))):
|
||||
return os.path.join(Ws, os.path.relpath(Path, Ws))
|
||||
return Path
|
||||
|
||||
|
@ -176,7 +176,7 @@ class TargetTxtDict():
|
||||
ConfDirectoryPath = mws.join(os.environ["WORKSPACE"], ConfDirectoryPath)
|
||||
else:
|
||||
if "CONF_PATH" in os.environ:
|
||||
ConfDirectoryPath = os.path.normcase(os.path.normpath(os.environ["CONF_PATH"]))
|
||||
ConfDirectoryPath = os.path.normpath(os.environ["CONF_PATH"])
|
||||
else:
|
||||
# Get standard WORKSPACE/Conf use the absolute path to the WORKSPACE/Conf
|
||||
ConfDirectoryPath = mws.join(os.environ["WORKSPACE"], 'Conf')
|
||||
|
@ -63,7 +63,7 @@ class Ecc(object):
|
||||
self.ParseOption()
|
||||
EdkLogger.info(time.strftime("%H:%M:%S, %b.%d %Y ", time.localtime()) + "[00:00]" + "\n")
|
||||
|
||||
WorkspaceDir = os.path.normcase(os.path.normpath(os.environ["WORKSPACE"]))
|
||||
WorkspaceDir = os.path.normpath(os.environ["WORKSPACE"])
|
||||
os.environ["WORKSPACE"] = WorkspaceDir
|
||||
|
||||
# set multiple workspace
|
||||
|
@ -134,7 +134,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
|
||||
EdkLogger.error("GenFds", PARAMETER_INVALID, "WORKSPACE is invalid",
|
||||
ExtraData="Please use '-w' switch to pass it or set the WORKSPACE environment variable.")
|
||||
else:
|
||||
Workspace = os.path.normcase(FdsCommandDict.get("Workspace",os.environ.get('WORKSPACE')))
|
||||
Workspace = os.path.normpath(FdsCommandDict.get("Workspace",os.environ.get('WORKSPACE')))
|
||||
GenFdsGlobalVariable.WorkSpaceDir = Workspace
|
||||
if FdsCommandDict.get("debug"):
|
||||
GenFdsGlobalVariable.VerboseLogger("Using Workspace:" + Workspace)
|
||||
@ -200,7 +200,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
|
||||
ConfDirectoryPath = os.path.join(GenFdsGlobalVariable.WorkSpaceDir, ConfDirectoryPath)
|
||||
else:
|
||||
if "CONF_PATH" in os.environ:
|
||||
ConfDirectoryPath = os.path.normcase(os.environ["CONF_PATH"])
|
||||
ConfDirectoryPath = os.path.normpath(os.environ["CONF_PATH"])
|
||||
else:
|
||||
# Get standard WORKSPACE/Conf, use the absolute path to the WORKSPACE/Conf
|
||||
ConfDirectoryPath = mws.join(GenFdsGlobalVariable.WorkSpaceDir, 'Conf')
|
||||
|
@ -105,7 +105,7 @@ def CheckEnvVariable():
|
||||
EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE, "Environment variable not found",
|
||||
ExtraData="WORKSPACE")
|
||||
|
||||
WorkspaceDir = os.path.normcase(os.path.normpath(os.environ["WORKSPACE"]))
|
||||
WorkspaceDir = os.path.normpath(os.environ["WORKSPACE"])
|
||||
if not os.path.exists(WorkspaceDir):
|
||||
EdkLogger.error("build", FILE_NOT_FOUND, "WORKSPACE doesn't exist", ExtraData=WorkspaceDir)
|
||||
elif ' ' in WorkspaceDir:
|
||||
@ -124,7 +124,7 @@ def CheckEnvVariable():
|
||||
EdkLogger.error("build", FORMAT_NOT_SUPPORTED, "No space is allowed in PACKAGES_PATH", ExtraData=Path)
|
||||
|
||||
|
||||
os.environ["EDK_TOOLS_PATH"] = os.path.normcase(os.environ["EDK_TOOLS_PATH"])
|
||||
os.environ["EDK_TOOLS_PATH"] = os.path.normpath(os.environ["EDK_TOOLS_PATH"])
|
||||
|
||||
# check EDK_TOOLS_PATH
|
||||
if "EDK_TOOLS_PATH" not in os.environ:
|
||||
@ -817,11 +817,11 @@ class Build():
|
||||
EdkLogger.quiet("%-16s = %s" % ("WORKSPACE", os.environ["WORKSPACE"]))
|
||||
if "PACKAGES_PATH" in os.environ:
|
||||
# WORKSPACE env has been converted before. Print the same path style with WORKSPACE env.
|
||||
EdkLogger.quiet("%-16s = %s" % ("PACKAGES_PATH", os.path.normcase(os.path.normpath(os.environ["PACKAGES_PATH"]))))
|
||||
EdkLogger.quiet("%-16s = %s" % ("PACKAGES_PATH", os.path.normpath(os.environ["PACKAGES_PATH"])))
|
||||
EdkLogger.quiet("%-16s = %s" % ("EDK_TOOLS_PATH", os.environ["EDK_TOOLS_PATH"]))
|
||||
if "EDK_TOOLS_BIN" in os.environ:
|
||||
# Print the same path style with WORKSPACE env.
|
||||
EdkLogger.quiet("%-16s = %s" % ("EDK_TOOLS_BIN", os.path.normcase(os.path.normpath(os.environ["EDK_TOOLS_BIN"]))))
|
||||
EdkLogger.quiet("%-16s = %s" % ("EDK_TOOLS_BIN", os.path.normpath(os.environ["EDK_TOOLS_BIN"])))
|
||||
EdkLogger.quiet("%-16s = %s" % ("CONF_PATH", GlobalData.gConfDirectory))
|
||||
if "PYTHON3_ENABLE" in os.environ:
|
||||
PYTHON3_ENABLE = os.environ["PYTHON3_ENABLE"]
|
||||
@ -2685,7 +2685,7 @@ def Main():
|
||||
|
||||
if Option.ModuleFile:
|
||||
if os.path.isabs (Option.ModuleFile):
|
||||
if os.path.normcase (os.path.normpath(Option.ModuleFile)).find (Workspace) == 0:
|
||||
if os.path.normcase (os.path.normpath(Option.ModuleFile)).find (os.path.normcase(Workspace)) == 0:
|
||||
Option.ModuleFile = NormFile(os.path.normpath(Option.ModuleFile), Workspace)
|
||||
Option.ModuleFile = PathClass(Option.ModuleFile, Workspace)
|
||||
ErrorCode, ErrorInfo = Option.ModuleFile.Validate(".inf", False)
|
||||
@ -2694,13 +2694,13 @@ def Main():
|
||||
|
||||
if Option.PlatformFile is not None:
|
||||
if os.path.isabs (Option.PlatformFile):
|
||||
if os.path.normcase (os.path.normpath(Option.PlatformFile)).find (Workspace) == 0:
|
||||
if os.path.normcase (os.path.normpath(Option.PlatformFile)).find (os.path.normcase(Workspace)) == 0:
|
||||
Option.PlatformFile = NormFile(os.path.normpath(Option.PlatformFile), Workspace)
|
||||
Option.PlatformFile = PathClass(Option.PlatformFile, Workspace)
|
||||
|
||||
if Option.FdfFile is not None:
|
||||
if os.path.isabs (Option.FdfFile):
|
||||
if os.path.normcase (os.path.normpath(Option.FdfFile)).find (Workspace) == 0:
|
||||
if os.path.normcase (os.path.normpath(Option.FdfFile)).find (os.path.normcase(Workspace)) == 0:
|
||||
Option.FdfFile = NormFile(os.path.normpath(Option.FdfFile), Workspace)
|
||||
Option.FdfFile = PathClass(Option.FdfFile, Workspace)
|
||||
ErrorCode, ErrorInfo = Option.FdfFile.Validate(".fdf", False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user