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); } }
private static async Task Main(string[] args) { ShowToolBanner(); HealthTool?healthTool = new HealthTool(); await healthTool.ParseOptions <Options>(args).WithParsedAsync(healthTool.RunAsync); }