示例#1
0
        static void Main(string[] args)
        {
            var healthTool = new HealthTool();

            Logger.Debug($"Microsoft OSS Gadget - {TOOL_NAME} {VERSION}");
            healthTool.ParseOptions(args);

            if (((IList <string>)healthTool.Options["target"]).Count > 0)
            {
                foreach (var target in (IList <string>)healthTool.Options["target"])
                {
                    try
                    {
                        var purl          = new PackageURL(target);
                        var healthMetrics = healthTool.CheckHealth(purl).Result;

                        // @TODO Improve this output
                        Logger.Info($"Health for {purl} (via {purl})");
                        Logger.Info(healthMetrics.ToString());
                    }
                    catch (Exception ex)
                    {
                        Logger.Warn("Error processing {0}: {1}", target, ex.Message);
                    }
                }
            }
            else
            {
                Logger.Warn("No target provided; nothing to check health of.");
                HealthTool.ShowUsage();
                Environment.Exit(1);
            }
        }
示例#2
0
 private static async Task Main(string[] args)
 {
     ShowToolBanner();
     HealthTool?healthTool = new HealthTool();
     await healthTool.ParseOptions <Options>(args).WithParsedAsync(healthTool.RunAsync);
 }