in TeamCity.MSBuild.Logger/ParametersParser.cs [59:157]
private static bool ApplyParameter([NotNull] Parameters parameters, [NotNull] string parameterName, [CanBeNull] string parameterValue, out string error)
{
if (parameters == null) throw new ArgumentNullException(nameof(parameters));
if (parameterName == null) throw new ArgumentNullException(nameof(parameterName));
var parameterNameUpper = parameterName.ToUpperInvariant();
error = null;
switch (parameterNameUpper)
{
case "DEBUG":
parameters.Debug = true;
return true;
case "WARNINGSONLY":
parameters.ShowOnlyWarnings = true;
return true;
case "SHOWENVIRONMENT":
parameters.ShowEnvironment = true;
return true;
case "DISABLECONSOLECOLOR":
parameters.ColorMode = ColorMode.NoColor;
return true;
case "FORCECONSOLECOLOR":
parameters.ColorMode = ColorMode.AnsiColor;
return true;
case "TEAMCITY":
parameters.TeamCityMode = TeamCityMode.SupportHierarchy;
parameters.StatisticsMode = StatisticsMode.TeamCity;
parameters.ColorMode = ColorMode.TeamCity;
parameters.ColorThemeMode = ColorThemeMode.TeamCity;
parameters.ForceNoAlign = true;
parameters.AlignMessages = false;
parameters.ShowSummary = true;
return true;
case "V":
case "VERBOSITY":
// ReSharper disable once InvertIf
if (TryApplyVerbosityParameter(parameterValue, out error, out var verbosity))
{
parameters.Verbosity = verbosity;
return true;
}
return false;
case "PERFORMANCESUMMARY":
parameters.ShowPerfSummary = true;
return true;
case "NOITEMANDPROPERTYLIST":
parameters.ShowItemAndPropertyList = false;
return true;
case "NOSUMMARY":
parameters.ShowSummary = false;
return true;
case "ERRORSONLY":
parameters.ShowOnlyErrors = true;
return true;
// Do not use nested TeamCity service messages
case "PLAIN":
parameters.PlainServiceMessage = true;
return true;
case "SHOWPROJECTFILE":
parameters.ShowProjectFile = string.IsNullOrEmpty(parameterValue) || parameterValue.ToUpperInvariant() == "TRUE";
return true;
case "SUMMARY":
parameters.ShowSummary = true;
return true;
case "SHOWCOMMANDLINE":
parameters.ShowCommandLine = true;
return true;
case "SHOWTIMESTAMP":
parameters.ShowTimeStamp = true;
return true;
case "SHOWEVENTID":
parameters.ShowEventId = true;
return true;
case "FORCENOALIGN":
parameters.ForceNoAlign = true;
parameters.AlignMessages = false;
return true;
default:
error = $"Invalid parameter \"{parameterName}\"=\"{parameterValue ?? "null"}\"";
return false;
}
}