public void Run() { configReader.LoadConfig(commandLineOptions.ConfigFile); var fragmentBuilder = new FragmentBuilder(configReader.CompatabilityLevel); var ruleVisitorBuilder = new RuleVisitorBuilder(configReader, this.reporter); var ruleVisitor = new SqlRuleVisitor(ruleVisitorBuilder, fragmentBuilder, reporter); pluginHandler = new PluginHandler(reporter); fileProcessor = new SqlFileProcessor(ruleVisitor, pluginHandler, reporter, new FileSystem()); pluginHandler.ProcessPaths(configReader.GetPlugins()); var response = commandLineOptionHandler.Handle(new CommandLineRequestMessage(commandLineOptions)); if (response.ShouldLint) { fileProcessor.ProcessList(commandLineOptions.LintPath); } if (fileProcessor.FileCount > 0) { reporter.ReportResults(timer.Stop(), fileProcessor.FileCount); } if (!response.Success) { Environment.ExitCode = 1; } }
public Application(string[] args, IReporter reporter) { timer = new ConsoleTimer(); timer.Start(); this.reporter = reporter; commandLineOptions = new CommandLineOptions.CommandLineOptions(args); configReader = new ConfigReader(reporter); commandLineOptionHandler = new CommandLineOptionHandler(commandLineOptions, new ConfigFileGenerator(), configReader, reporter); var fragmentBuilder = new FragmentBuilder(); var ruleVisitorBuilder = new RuleVisitorBuilder(configReader, this.reporter); IRuleVisitor ruleVisitor = new SqlRuleVisitor(ruleVisitorBuilder, fragmentBuilder, reporter); pluginHandler = new PluginHandler(reporter); fileProcessor = new SqlFileProcessor(ruleVisitor, pluginHandler, reporter, new FileSystem()); }
public void Run() { configReader.LoadConfig(commandLineOptions.ConfigFile); var fragmentBuilder = new FragmentBuilder(configReader.CompatabilityLevel); var ruleVisitorBuilder = new RuleVisitorBuilder(configReader, this.reporter); IRuleVisitor ruleVisitor = new SqlRuleVisitor(ruleVisitorBuilder, fragmentBuilder, reporter); pluginHandler = new PluginHandler(reporter); fileProcessor = new SqlFileProcessor(ruleVisitor, pluginHandler, reporter, new FileSystem()); pluginHandler.ProcessPaths(configReader.GetPlugins()); commandLineOptionHandler.HandleCommandLineOptions(commandLineOptions); fileProcessor.ProcessList(commandLineOptions.LintPath); if (fileProcessor.FileCount > 0) { reporter.ReportResults(timer.Stop(), fileProcessor.FileCount); } }