public int ReturnCode => _analysisReportInProgress.IsFailure() ? -1 : 0; //bug UI implementation leak public static Analysis PrepareFor(IEnumerable <CsharpProjectDto> csharpProjectDtos, INScanSupport support) { return(new Analysis(new AnalysisReportInProgress(new RuleReportFactory()), DependencyAnalysis.PrepareFor(csharpProjectDtos, support), ProjectAnalysis.PrepareFor(csharpProjectDtos), ProjectNamespacesAnalysis.PrepareFor(csharpProjectDtos), new ResultBuilderFactory())); }
public void Analyse(VisualStudioSolutionProject solutionProject, ProjectAnalysis projectAnalysis) { var configurations = _projectNodeSelector.GetPlatformConfigurations(solutionProject.Project); foreach (var configuration in configurations) { var configurationPlatform = _configurationPlatformParser.GetConfigurationAndPlatform(configuration); var configurationPlatformAnalysis = projectAnalysis.GetConfigurationPlatform( configurationPlatform.configuration, configurationPlatform.platform); configurationPlatformAnalysis.LanguageVersion = GetLanguageVersion(configuration); } }
public void Analyse(VisualStudioSolutionProject solutionProject, ProjectAnalysis projectAnalysis) { var configurations = _projectNodeSelector.GetPlatformConfigurations(solutionProject.Project); foreach (var configuration in configurations) { var configurationPlatform = _configurationPlatformParser.GetConfigurationAndPlatform(configuration); var configurationPlatformAnalysis = projectAnalysis.GetConfigurationPlatform( configurationPlatform.configuration, configurationPlatform.platform); configurationPlatformAnalysis.WarningLevel = GetWarningLevel(configuration); configurationPlatformAnalysis.TreatWarningsAsError = GetTreatWarningsAsErrors(configuration); } }
public void ShouldApplyTheRulesetToSolution() { //GIVEN var ruleSet = Any.Instance <IProjectScopedRuleSet>(); var solution = Substitute.For <ISolutionForProjectScopedRules>(); var projectAnalysis = new ProjectAnalysis(solution, ruleSet, Any.Instance <IProjectScopedRuleFactory>()); var analysisReportInProgress = Any.Instance <IAnalysisReportInProgress>(); //WHEN projectAnalysis.Perform(analysisReportInProgress); //THEN solution.Received(1).Check(ruleSet, analysisReportInProgress); }
public void Analyse(VisualStudioSolutionProject solutionProject, ProjectAnalysis projectAnalysis) { var configurations = _projectNodeSelector.GetPlatformConfigurations(solutionProject.Project); foreach (var configuration in configurations) { var configurationPlatform = _configurationPlatformParser.GetConfigurationAndPlatform(configuration); var configurationPlatformAnalysis = projectAnalysis.GetConfigurationPlatform( configurationPlatform.configuration, configurationPlatform.platform); configurationPlatformAnalysis.CodeAnalysisRuleSet = GetCodeAnalysisRuleSet(configuration); configurationPlatformAnalysis.RunCodeAnalysis = GetRunCodeAnalysis(configuration); configurationPlatformAnalysis.CodeAnalysisIgnoreGeneratedCode = GetCodeAnalysisIngoreGeneratedCode(configuration); } }
public void ShouldAddRuleToRuleSet() { //GIVEN var ruleSet = Substitute.For <IProjectScopedRuleSet>(); var ruleFactory = Substitute.For <IProjectScopedRuleFactory>(); var projectAnalysis = new ProjectAnalysis(Any.Instance <ISolutionForProjectScopedRules>(), ruleSet, ruleFactory); var dto1 = Any.Instance <CorrectNamespacesRuleComplementDto>(); var dto2 = Any.Instance <HasAttributesOnRuleComplementDto>(); var dto3 = Any.Instance <HasTargetFrameworkRuleComplementDto>(); var dto4 = Any.Instance <HasPropertyRuleComplementDto>(); var projectScopedRuleUnionDtos = new List <ProjectScopedRuleUnionDto> { ProjectScopedRuleUnionDto.With(dto1), ProjectScopedRuleUnionDto.With(dto2), ProjectScopedRuleUnionDto.With(dto3), ProjectScopedRuleUnionDto.With(dto4) }; var rule1 = Any.Instance <IProjectScopedRule>(); var rule2 = Any.Instance <IProjectScopedRule>(); var rule3 = Any.Instance <IProjectScopedRule>(); var rule4 = Any.Instance <IProjectScopedRule>(); ruleFactory.CreateProjectScopedRuleFrom(dto1).Returns(rule1); ruleFactory.CreateProjectScopedRuleFrom(dto2).Returns(rule2); ruleFactory.CreateProjectScopedRuleFrom(dto3).Returns(rule3); ruleFactory.CreateProjectScopedRuleFrom(dto4).Returns(rule4); //WHEN projectAnalysis.Add(projectScopedRuleUnionDtos); //THEN Received.InOrder(() => { ruleSet.Add(rule1); ruleSet.Add(rule2); ruleSet.Add(rule3); ruleSet.Add(rule4); }); }
public void Analyse(VisualStudioSolutionProject solutionProject, ProjectAnalysis projectAnalysis) { projectAnalysis.Framework = DetectFramework(solutionProject); }