protected override void OnClean (IProgressMonitor monitor, ConfigurationSelector configuration)
{
ProjectConfiguration config = GetConfiguration (configuration) as ProjectConfiguration;
if (config == null) {
monitor.ReportError (GettextCatalog.GetString ("Configuration '{0}' not found in project '{1}'", config.Id, Name), null);
return;
}
if (UsingMSBuildEngine (configuration)) {
DoClean (monitor, config.Selector);
return;
}
monitor.Log.WriteLine ("Removing output files...");
// Delete generated files
foreach (FilePath file in GetOutputFiles (configuration)) {
if (File.Exists (file)) {
file.Delete ();
if (file.ParentDirectory.CanonicalPath != config.OutputDirectory.CanonicalPath && Directory.GetFiles (file.ParentDirectory).Length == 0)
file.ParentDirectory.Delete ();
}
}
DeleteSupportFiles (monitor, configuration);
DoClean (monitor, config.Selector);
monitor.Log.WriteLine (GettextCatalog.GetString ("Clean complete"));
}