public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Steven Shi" <steven.shi@intel.com>
To: devel@edk2.groups.io
Cc: liming.gao@intel.com, bob.c.feng@intel.com, "Shi,
	Steven" <steven.shi@intel.com>
Subject: [PATCH 1/4] BaseTools: store more complete output files in binary cache
Date: Tue, 19 Nov 2019 17:26:58 +0800	[thread overview]
Message-ID: <20191119092701.22988-2-steven.shi@intel.com> (raw)
In-Reply-To: <20191119092701.22988-1-steven.shi@intel.com>

From: "Shi, Steven" <steven.shi@intel.com>

Binary cache use the OutputFile method to return the module
built output files needed to store in cache, but current
OutputFile implementation doesn't return complete output files.
Enhance the OutputFile method to return more complete output files.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Signed-off-by: Steven Shi <steven.shi@intel.com>
---
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
index 1f45bac846..be87e58f58 100755
--- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
@@ -1291,28 +1291,16 @@ class ModuleAutoGen(AutoGen):
     def OutputFile(self):
         retVal = set()
 
-        OutputDir = self.OutputDir.replace('\\', '/').strip('/')
-        DebugDir = self.DebugDir.replace('\\', '/').strip('/')
-        for Item in self.CodaTargetList:
-            File = Item.Target.Path.replace('\\', '/').strip('/').replace(DebugDir, '').replace(OutputDir, '').strip('/')
-            NewFile = path.join(self.OutputDir, File)
-            retVal.add(NewFile)
-
-        Bin = self._GenOffsetBin()
-        if Bin:
-            NewFile = path.join(self.OutputDir, Bin)
-            retVal.add(NewFile)
-
-        for Root, Dirs, Files in os.walk(self.OutputDir):
+        for Root, Dirs, Files in os.walk(self.BuildDir):
             for File in Files:
                 # lib file is already added through above CodaTargetList, skip it here
-                if not (File.lower().endswith('.obj') or File.lower().endswith('.lib')):
-                    NewFile = path.join(self.OutputDir, File)
+                if not (File.lower().endswith('.obj') or File.lower().endswith('.debug')):
+                    NewFile = path.join(Root, File)
                     retVal.add(NewFile)
 
         for Root, Dirs, Files in os.walk(self.FfsOutputDir):
             for File in Files:
-                NewFile = path.join(self.FfsOutputDir, File)
+                NewFile = path.join(Root, File)
                 retVal.add(NewFile)
 
         return retVal
-- 
2.16.1.windows.4


  reply	other threads:[~2019-11-19  9:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-19  9:26 [PATCH 0/4] BaseTools: Leverage compiler output dependency files for binary cache Steven Shi
2019-11-19  9:26 ` Steven Shi [this message]
2019-11-19  9:26 ` [PATCH 2/4] BaseTools: enhance the CacheCopyFile method arg names Steven Shi
2019-11-19  9:27 ` [PATCH 3/4] BaseTools: Leverage compiler output to optimize binary cache Steven Shi
2019-11-19  9:27 ` [PATCH 4/4] BaseTools: Remove redundant binary cache file Steven Shi

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=20191119092701.22988-2-steven.shi@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