private static bool ApplyParameter()

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;
            }
        }