Esempio n. 1
0
        public override int GetHashCode()
        {
            int hashCode = -2010611888;

            hashCode = hashCode * -1521134295 + Mode.GetHashCode();
            hashCode = hashCode * -1521134295 + CommonArgs.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <object> .Default.GetHashCode(SpecialArgs);

            return(hashCode);
        }
Esempio n. 2
0
        public override string ToString()
        {
            switch (Mode)
            {
            case DiffMode.Context:
                Debug.Assert(SpecialArgs is DiffContextArguments);
                DiffContextArguments args = (DiffContextArguments)SpecialArgs;
                return(String.Format("diff {0} {1}", args.ToString(), CommonArgs.ToString()));

            case DiffMode.ShortStat:
                return(String.Format("diff --shortstat {0}", CommonArgs.ToString()));

            case DiffMode.NumStat:
                return(String.Format("diff --numstat {0}", CommonArgs.ToString()));
            }

            Debug.Assert(false);
            return(String.Empty);
        }
Esempio n. 3
0
        public bool IsValid()
        {
            if (!CommonArgs.IsValid())
            {
                return(false);
            }

            if (Mode == DiffMode.Context)
            {
                Debug.Assert(SpecialArgs is DiffContextArguments);
                return(((DiffContextArguments)SpecialArgs).IsValid());
            }
            else
            {
                Debug.Assert(SpecialArgs == null);
            }

            return(true);
        }
Esempio n. 4
0
        static void Invoke(CommonArgs args, Action <MTRFXXAdapter, byte> action, Action <MTRFXXAdapter, byte> actionF)
        {
            using (var adapter = new MTRFXXAdapter(args.Port.ParsedValue))
            {
                adapter.Open();
                adapter.ExitServiceMode();
                Thread.Sleep(50);

                if (args.ModeF.HasValue())
                {
                    actionF(adapter, args.Channel.ParsedValue);
                }
                else
                {
                    action(adapter, args.Channel.ParsedValue);
                }

                Thread.Sleep(100);
            }
        }
Esempio n. 5
0
        public static async Task Main(string[] args)
        {
            var logLevel = new LoggingLevelSwitch(LogEventLevel.Information);

            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.ControlledBy(logLevel)
                         .Enrich.FromLogContext()
                         .Destructure.ByTransforming <Project>(p => new { p.Id, p.Name })
                         .Destructure.ByTransforming <Repository>(r => new { r.Id, r.Name, r.TagCount })
                         .Destructure.ByTransforming <Tag>(t => new { t.Repository, t.Name, t.CreatedAt })
                         .Destructure.ByTransforming <ProcessResult>(r => new { r.RemovedTags, r.IgnoredTags, r.IgnoredRepos, r.IgnoredProjects })
                         .WriteTo.Console()
                         .CreateLogger();

            try
            {
                CommonArgs settings = null;
                bool       check    = false;

                if (args[0].Equals("check", StringComparison.OrdinalIgnoreCase))
                {
                    check    = true;
                    settings = CliParser.Parse <CommonArgs>(args.Skip(1).ToArray());
                }
                else
                {
                    settings = CliParser.Parse <ApplicationSettings>(args);
                }

                logLevel.MinimumLevel = ParseVerbosity(settings.Verbosity);

                var ruleProvider = string.IsNullOrEmpty(settings.ConfigFile) ?
                                   new ConfigServerRuleProvider(
                    new ConfigServerClientSettings
                {
                    Enabled              = true,
                    FailFast             = true,
                    Name                 = APPLICATION_NAME,
                    Environment          = ENVIRONMENT,
                    Uri                  = settings.ConfigServer,
                    Username             = settings.ConfigUser,
                    Password             = settings.ConfigPassword,
                    RetryAttempts        = 5,
                    RetryEnabled         = true,
                    RetryInitialInterval = 3000,
                    RetryMaxInterval     = 10000,
                    RetryMultiplier      = 1.5
                },
                    new SerilogLoggerFactory()
                    ) : (IRuleProvider) new FilesystemRuleProvider(settings.ConfigFile);

                if (settings.DisableCertificateValidation)
                {
                    Log.Warning("Ignoring Certificate Errors");
                    FlurlHttp.Configure(f => f.HttpClientFactory = new InsecureHttpClientFactory());
                }

                FlurlHttp.Configure(f => f.Timeout = System.TimeSpan.FromSeconds(settings.Timeout));

                if (check)
                {
                    ruleProvider.Load().Check();
                }
                else
                {
                    var appSettings = settings as ApplicationSettings;
                    await DoClean(appSettings, ruleProvider);
                }
            }
            catch (clipr.Core.ParserExit)
            {
                // Don't throw an exception if someone calls help
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "An Error was encountered while processing tags");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }