public bool Run(Suite suite, string[] parameters)
{
var cleanParams = new CleanParameters(parameters);
try
{
if (cleanParams.SoftClean)
{
targetRoot.Delete(predicates.ShouldDelete);
}
else
{
targetRoot.Delete();
}
}
catch (UnauthorizedAccessException ex)
{
CleanWarning(ex);
}
catch (IOException ex)
{
CleanWarning(ex);
}
foreach (var cleanExtension in extensions)
{
cleanExtension.Clean(cleanParams);
}
return true;
}