namespace Microsoft.Build.Tasks {
public sealed class Delete : TaskExtension {
- ITaskItem[] deletedFiles;
- ITaskItem[] files;
+ ITaskItem [] deletedFiles;
+ ITaskItem [] files;
bool treatErrorsAsWarnings;
public Delete ()
{
- this.treatErrorsAsWarnings = false;
+ treatErrorsAsWarnings = false;
}
public override bool Execute ()
{
+ if (files.Length == 0)
+ return true;
+
List <ITaskItem> temporaryDeletedFiles = new List <ITaskItem> ();
foreach (ITaskItem file in files) {
+ string path = file.GetMetadata ("FullPath");
+ if (path == null || !File.Exists (path))
+ //skip
+ continue;
+
try {
- File.Delete (file.GetMetadata ("FullPath"));
+ File.Delete (path);
+ Log.LogMessage (MessageImportance.Normal, "Deleting file '{0}'", path);
temporaryDeletedFiles.Add (file);
}
- catch (ArgumentNullException ex) {
- LogException (ex);
- }
catch (ArgumentException ex) {
LogException (ex);
}
return true;
}
- private void LogException (Exception ex)
+ void LogException (Exception ex)
{
- if (treatErrorsAsWarnings == true)
+ if (treatErrorsAsWarnings)
Log.LogWarningFromException (ex);
else
Log.LogErrorFromException (ex);
}
[Output]
- public ITaskItem[] DeletedFiles {
- get {
- return deletedFiles;
- }
- set {
- deletedFiles = value;
- }
+ public ITaskItem [] DeletedFiles {
+ get { return deletedFiles; }
+ set { deletedFiles = value; }
}
[Required]
- public ITaskItem[] Files {
- get {
- return files;
- }
- set {
- files = value;
- }
+ public ITaskItem [] Files {
+ get { return files; }
+ set { files = value; }
}
public bool TreatErrorsAsWarnings {
- get {
- return treatErrorsAsWarnings;
- }
- set {
- treatErrorsAsWarnings = value;
- }
+ get { return treatErrorsAsWarnings; }
+ set { treatErrorsAsWarnings = value; }
}
}
}
-#endif
\ No newline at end of file
+#endif