コード例 #1
0
ファイル: Program.cs プロジェクト: luchua-bc/ql
        public static int Main(string[] args)
        {
            Extractor.SetInvariantCulture();

            var options = Options.Create(args);

            // options.CIL = true;  // To do: Enable this
            using var output = new ConsoleLogger(options.Verbosity);

            if (options.Help)
            {
                Options.ShowHelp(System.Console.Out);
                return(0);
            }

            if (options.Errors)
            {
                return(1);
            }

            var start = DateTime.Now;

            output.Log(Severity.Info, "Running C# standalone extractor");
            using var a = new Analysis(output, options);
            var sourceFileCount = a.Extraction.Sources.Count;

            if (sourceFileCount == 0)
            {
                output.Log(Severity.Error, "No source files found");
                return(1);
            }

            if (!options.SkipExtraction)
            {
                using var fileLogger = new FileLogger(options.Verbosity, Extractor.GetCSharpLogPath());

                output.Log(Severity.Info, "");
                output.Log(Severity.Info, "Extracting...");
                Extractor.ExtractStandalone(
                    a.Extraction.Sources,
                    a.References,
                    new ExtractionProgress(output),
                    fileLogger,
                    options);
                output.Log(Severity.Info, $"Extraction completed in {DateTime.Now - start}");
            }

            return(0);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: Silentsoul04/Semmle.ql
        static int Main(string[] args)
        {
            var options = Options.Create(args);
            var output  = new ConsoleLogger(options.Verbosity);
            var a       = new Analysis(output);

            if (options.Help)
            {
                options.ShowHelp(System.Console.Out);
                return(0);
            }

            if (options.Errors)
            {
                return(1);
            }

            output.Log(Severity.Info, "Running C# standalone extractor");
            a.AnalyseProjects(options);
            int sourceFiles = a.Extraction.Sources.Count();

            if (sourceFiles == 0)
            {
                output.Log(Severity.Error, "No source files found");
                return(1);
            }

            if (!options.SkipExtraction)
            {
                output.Log(Severity.Info, "");
                output.Log(Severity.Info, "Extracting...");
                Extractor.ExtractStandalone(
                    a.Extraction.Sources,
                    a.References,
                    new ExtractionProgress(output),
                    new FileLogger(options.Verbosity, Extractor.GetCSharpLogPath()),
                    options);
                output.Log(Severity.Info, "Extraction complete");
            }

            a.Cleanup();
            return(0);
        }