mirror of https://github.com/acidanthera/audk.git
BaseTools: Fix corner-cases of --hash feature
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1680 Respect artifact location within directory structure. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Christian Rodriguez <christian.rodriguez@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
parent
1b8caf0d87
commit
f2b5e04aca
|
@ -3900,9 +3900,11 @@ class ModuleAutoGen(AutoGen):
|
||||||
FileDir = path.join(GlobalData.gBinCacheDest, self.Arch, self.SourceDir, self.MetaFile.BaseName)
|
FileDir = path.join(GlobalData.gBinCacheDest, self.Arch, self.SourceDir, self.MetaFile.BaseName)
|
||||||
CreateDirectory (FileDir)
|
CreateDirectory (FileDir)
|
||||||
HashFile = path.join(self.BuildDir, self.Name + '.hash')
|
HashFile = path.join(self.BuildDir, self.Name + '.hash')
|
||||||
ModuleFile = path.join(self.OutputDir, self.Name + '.inf')
|
|
||||||
if os.path.exists(HashFile):
|
if os.path.exists(HashFile):
|
||||||
shutil.copy2(HashFile, FileDir)
|
shutil.copy2(HashFile, FileDir)
|
||||||
|
if self.IsLibrary:
|
||||||
|
return
|
||||||
|
ModuleFile = path.join(self.OutputDir, self.Name + '.inf')
|
||||||
if os.path.exists(ModuleFile):
|
if os.path.exists(ModuleFile):
|
||||||
shutil.copy2(ModuleFile, FileDir)
|
shutil.copy2(ModuleFile, FileDir)
|
||||||
if not self.OutputFile:
|
if not self.OutputFile:
|
||||||
|
@ -3914,7 +3916,11 @@ class ModuleAutoGen(AutoGen):
|
||||||
if not os.path.isabs(File):
|
if not os.path.isabs(File):
|
||||||
File = os.path.join(self.OutputDir, File)
|
File = os.path.join(self.OutputDir, File)
|
||||||
if os.path.exists(File):
|
if os.path.exists(File):
|
||||||
shutil.copy2(File, FileDir)
|
sub_dir = os.path.relpath(File, self.OutputDir)
|
||||||
|
destination_file = os.path.join(FileDir, sub_dir)
|
||||||
|
destination_dir = os.path.dirname(destination_file)
|
||||||
|
CreateDirectory(destination_dir)
|
||||||
|
shutil.copy2(File, destination_dir)
|
||||||
|
|
||||||
def AttemptModuleCacheCopy(self):
|
def AttemptModuleCacheCopy(self):
|
||||||
# If library or Module is binary do not skip by hash
|
# If library or Module is binary do not skip by hash
|
||||||
|
@ -3938,7 +3944,11 @@ class ModuleAutoGen(AutoGen):
|
||||||
shutil.copy2(HashFile, self.BuildDir)
|
shutil.copy2(HashFile, self.BuildDir)
|
||||||
else:
|
else:
|
||||||
File = path.join(root, f)
|
File = path.join(root, f)
|
||||||
shutil.copy2(File, self.OutputDir)
|
sub_dir = os.path.relpath(File, FileDir)
|
||||||
|
destination_file = os.path.join(self.OutputDir, sub_dir)
|
||||||
|
destination_dir = os.path.dirname(destination_file)
|
||||||
|
CreateDirectory(destination_dir)
|
||||||
|
shutil.copy2(File, destination_dir)
|
||||||
if self.Name == "PcdPeim" or self.Name == "PcdDxe":
|
if self.Name == "PcdPeim" or self.Name == "PcdDxe":
|
||||||
CreatePcdDatabaseCode(self, TemplateString(), TemplateString())
|
CreatePcdDatabaseCode(self, TemplateString(), TemplateString())
|
||||||
return True
|
return True
|
||||||
|
|
Loading…
Reference in New Issue