/// <summary> /// Main entrypoint for the download program. /// </summary> /// <param name="args"> parameters passed in from the user </param> private static async Task Main(string[] args) { ShowToolBanner(); CharacteristicTool?characteristicTool = new CharacteristicTool(); await characteristicTool.ParseOptions <Options>(args).WithParsedAsync(characteristicTool.RunAsync); }
/// <summary> /// Main entrypoint for the download program. /// </summary> /// <param name="args">parameters passed in from the user</param> static void Main(string[] args) { var characteristicTool = new CharacteristicTool(); Logger.Debug($"Microsoft OSS Gadget - {TOOL_NAME} {VERSION}"); characteristicTool.ParseOptions(args); if (((IList <string>)characteristicTool.Options["target"]).Count > 0) { foreach (var target in (IList <string>)characteristicTool.Options["target"]) { try { var purl = new PackageURL(target); characteristicTool.AnalyzePackage(purl).Wait(); } catch (Exception ex) { Logger.Warn(ex, "Error processing {0}: {1}", target, ex.Message); } } } else { Logger.Warn("No target provided; nothing to analyze."); CharacteristicTool.ShowUsage(); Environment.Exit(1); } }