MonoDevelop.Projects.Project.OnClean C# (CSharp) Method

OnClean() protected method

protected OnClean ( IProgressMonitor monitor, MonoDevelop.Projects.ConfigurationSelector configuration ) : void
monitor IProgressMonitor
configuration MonoDevelop.Projects.ConfigurationSelector
return void
		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"));
		}