Example #1
0
        private static List <IReport> getReportGenerators(Options options, ISystemIO systemIO)
        {
            var reportGenerators = new List <IReport>();

            foreach (var format in options.OutputFormat)
            {
                string outputFilename = "GitCommitsAnalysisReport";
                if (!string.IsNullOrEmpty(options.ReportFilename))
                {
                    outputFilename = systemIO.GetPathWitoutExtension(options.ReportFilename);
                }
                var filename = $"{options.OutputFolder}\\{outputFilename}";
                if (format == OutputFormat.Text)
                {
                    reportGenerators.Add(new TextFileReport(systemIO, filename, options));
                }
                if (format == OutputFormat.Markdown)
                {
                    reportGenerators.Add(new MarkdownReport(systemIO, filename, options));
                }
                if (format == OutputFormat.Json)
                {
                    reportGenerators.Add(new JsonReport(systemIO, filename, options));
                }
                if (format == OutputFormat.HTML)
                {
                    reportGenerators.Add(new HTMLReport(systemIO, filename, options));
                }
                if (format == OutputFormat.Excel)
                {
                    reportGenerators.Add(new ExcelReport(systemIO, filename, options));
                }
            }
            return(reportGenerators);
        }