]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java
1) Add FileTimeStamp class to centralize the cache mechanism for file time stamp...
[mirror_edk2.git] / Tools / Source / FrameworkTasks / org / tianocore / framework / tasks / MakeDeps.java
index bd305fa0794c6c57a9071ab223f9757206d1d84e..1486bd384edcdf12d5add2464f5ec9f2228bdd01 100644 (file)
@@ -31,6 +31,7 @@ import org.apache.tools.ant.types.Commandline;
 import org.apache.tools.ant.types.Path;\r
 \r
 import org.tianocore.common.logger.EdkLog;\r
+import org.tianocore.common.cache.FileTimeStamp;\r
 \r
 /**\r
  Class MakeDeps is used to wrap MakeDeps.exe as an ANT task.\r
@@ -233,12 +234,12 @@ public class MakeDeps extends Task {
         // If the source file(s) is newer than dependency list file, we need to\r
         // re-generate the dependency list file\r
         //\r
-        long depsFileTimeStamp = df.lastModified();\r
+        long depsFileTimeStamp = FileTimeStamp.get(dfName);\r
         List<String> fileList = inputFileList.getNameList();\r
         for (int i = 0, length = fileList.size(); i < length; ++i) {\r
-            File sf = new File(fileList.get(i));\r
-            if (sf.lastModified() > depsFileTimeStamp) {\r
-                EdkLog.log(this, EdkLog.EDK_VERBOSE, sf.getPath() + " has been changed since last build!");\r
+            String sf = fileList.get(i);\r
+            if (FileTimeStamp.get(sf) > depsFileTimeStamp) {\r
+                EdkLog.log(this, EdkLog.EDK_VERBOSE, sf + " has been changed since last build!");\r
                 return false;\r
             }\r
         }\r
@@ -279,7 +280,7 @@ public class MakeDeps extends Task {
                 // If a file cannot be found (moved or removed) or newer, regenerate the dep file\r
                 // \r
                 File sourceFile = new File(line);\r
-                if ((!sourceFile.exists()) || (sourceFile.lastModified() > depsFileTimeStamp)) {\r
+                if ((!sourceFile.exists()) || (FileTimeStamp.get(line) > depsFileTimeStamp)) {\r
                     EdkLog.log(this, EdkLog.EDK_VERBOSE, sourceFile.getPath() + " has been (re)moved or changed since last build!");\r
                     ret = false;\r
                     break;\r