private boolean isUptodate() {\r
File df = new File(depsFile);\r
if (!df.exists()) {\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, depsFile + " doesn't exist!");\r
return false;\r
}\r
\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
return false;\r
}\r
}\r
//\r
LineNumberReader lineReader = null;\r
FileReader fileReader = null;\r
- boolean ret = true;\r
+ boolean ret = false;\r
try {\r
fileReader = new FileReader(df);\r
lineReader = new LineNumberReader(fileReader);\r
\r
String line = null;\r
+ int lines = 0;\r
while ((line = lineReader.readLine()) != null) {\r
- File sourceFile = new File(line);\r
+ //\r
+ // check file end flag "\t" to see if the .dep was generated correctly\r
+ // \r
+ if (line.equals("\t")) {\r
+ ret = true;\r
+ continue;\r
+ }\r
+ line = line.trim();\r
+ //\r
+ // skip empty line\r
+ // \r
+ if (line.length() == 0) {\r
+ continue;\r
+ }\r
+ ++lines;\r
+\r
//\r
// 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
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, sourceFile.getPath() + " has been (re)moved or changed since last build!");\r
ret = false;\r
break;\r
}\r
}\r
+\r
+ //\r
+ // check if the .dep file is empty\r
+ // \r
+ if (lines == 0) {\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, depsFile + " is empty!");\r
+ ret = false;\r
+ }\r
+\r
lineReader.close();\r
fileReader.close();\r
} catch (IOException e) {\r
- log (e.getMessage());\r
+ throw new BuildException(e.getMessage());\r
}\r
\r
return ret;\r