/// <summary> /// Runs the command /// </summary> /// <param name="suite">The current suite model the command is applied to</param> /// <param name="parameters">Parameters given to the command (in unprocessed form)</param> public bool Run(Suite suite, string[] parameters) { var cleanParams = new CleanParameters(new string[0]); var cleanParameters = parameters.Where(cleanParams.IsKeepReferencesParameter).ToArray(); var buildParameters = parameters.Where(p => !cleanParams.IsKeepReferencesParameter(p)).ToArray(); var cleanSucceeded = cleanCommand.Run(suite, cleanParameters); targetRoot.Remake(); cacheRoot.Remake(); var buildSucceeded = buildCommand.Run(suite, buildParameters); return(cleanSucceeded && buildSucceeded); }