예제 #1
0
        static void Main(string[] args)
        {
            var findSourceTool = new FindSourceTool();

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

            if (((IList <string>)findSourceTool.Options["target"]).Count > 0)
            {
                foreach (var target in (IList <string>)findSourceTool.Options["target"])
                {
                    try
                    {
                        var purl = new PackageURL(target);
                        findSourceTool.FindSource(purl).Wait();
                    }
                    catch (Exception ex)
                    {
                        Logger.Warn("Error processing {0}: {1}", target, ex.Message);
                    }
                }
            }
            else
            {
                Logger.Warn("No target provided; nothing to locate source for.");
                FindSourceTool.ShowUsage();
                Environment.Exit(1);
            }
        }
예제 #2
0
 private static async Task Main(string[] args)
 {
     var findSourceTool = new FindSourceTool();
     await findSourceTool.ParseOptions <Options>(args).WithParsedAsync(findSourceTool.RunAsync);
 }