{
// FIXME: change this to ITaskItem instead of string
- OldExpression inputExpr, outputExpr;
+ Expression inputExpr, outputExpr;
string[] inputFiles, outputFiles;
DateTime oldestInput, youngestOutput;
- if (inputs == String.Empty) {
+ if (inputs == String.Empty)
return true;
- }
- if (outputs == String.Empty) {
+
+ if (outputs == String.Empty)
return true;
- }
- inputExpr = new OldExpression (project);
- inputExpr.ParseSource (inputs);
- outputExpr = new OldExpression (project);
- outputExpr.ParseSource (outputs);
- inputFiles = (string[]) inputExpr.ConvertTo (typeof (string[]));
- outputFiles = (string[]) outputExpr.ConvertTo (typeof (string[]));
+ inputExpr = new Expression ();
+ inputExpr.Parse (inputs, true);
+ outputExpr = new Expression ();
+ outputExpr.Parse (outputs, true);
- if (inputFiles == null) {
+ inputFiles = (string[]) inputExpr.ConvertTo (project, typeof (string[]));
+ outputFiles = (string[]) outputExpr.ConvertTo (project, typeof (string[]));
+
+ if (inputFiles == null)
return true;
- }
- if (outputFiles == null) {
+
+ if (outputFiles == null)
return true;
- }
- if (inputFiles.Length == 0) {
+
+ if (inputFiles.Length == 0)
return true;
- }
- if (outputFiles.Length == 0) {
+
+ if (outputFiles.Length == 0)
return true;
- }
- if (File.Exists (inputFiles [0])) {
+
+ if (File.Exists (inputFiles [0]))
oldestInput = File.GetLastWriteTime (inputFiles [0]);
- } else {
+ else
return true;
- }
- if (File.Exists (outputFiles [0])) {
+
+ if (File.Exists (outputFiles [0]))
youngestOutput = File.GetLastWriteTime (outputFiles [0]);
- } else {
+ else
return true;
- }
+
foreach (string file in inputFiles) {
if (file.Trim () == String.Empty)
if (File.Exists (file.Trim ())) {
if (File.GetLastWriteTime (file.Trim ()) < youngestOutput)
youngestOutput = File.GetLastWriteTime (file.Trim ());
- } else {
+ } else
return true;
- }
}
- if (oldestInput > youngestOutput) {
+ if (oldestInput > youngestOutput)
return true;
- }
- else {
+ else
return false;
- }
}
// FIXME: should do everything from task batching specification, not just run task once