/// <summary> /// Initializes a new instance of SolutionRewriter, analyzing the solution path using the provided config. /// WARNING: This constructor will rebuild and reanalyze the solution, which will have a performance impact. If you /// have an already analyzed solution, use another constructor /// </summary> /// <param name="analyzerConfiguration">Configuration for code analyzer to be used (AnalyzerConfiguration)</param> /// <param name="solutionFilePath">Path to solution file</param> /// <param name="solutionConfiguration">Configuration for each project in solution to be built</param> public SolutionRewriter(string solutionFilePath, List <ProjectConfiguration> solutionConfiguration, IProjectRewriterFactory projectRewriterFactory = null) { DownloadResourceFiles(); _solutionResult = new SolutionResult(); _projectRewriterFactory = projectRewriterFactory ?? new DefaultProjectRewriterFactory(); AnalyzerConfiguration analyzerConfiguration = new AnalyzerConfiguration(LanguageOptions.CSharp) { MetaDataSettings = new MetaDataSettings() { Annotations = true, DeclarationNodes = true, MethodInvocations = true, ReferenceData = true, LoadBuildData = true, InterfaceDeclarations = true, MemberAccess = true, ElementAccess = true } }; _projectRewriters = new List <ProjectRewriter>(); CodeAnalyzer analyzer = CodeAnalyzerFactory.GetAnalyzer(analyzerConfiguration, LogHelper.Logger); var analyzerResults = analyzer.AnalyzeSolution(solutionFilePath).Result; InitializeProjectRewriters(analyzerResults, solutionConfiguration); }
/// <summary> /// Initializes a new instance of SolutionRewriter with an already analyzed solution /// </summary> /// <param name="analyzerResults">The solution analysis</param> /// <param name="solutionConfiguration">Configuration for each project in the solution</param> public SolutionRewriter(List <AnalyzerResult> analyzerResults, List <ProjectConfiguration> solutionConfiguration, IProjectRewriterFactory projectRewriterFactory = null) { DownloadResourceFiles(); _solutionResult = new SolutionResult(); _projectRewriterFactory = projectRewriterFactory ?? new DefaultProjectRewriterFactory(); _projectRewriters = new List <ProjectRewriter>(); InitializeProjectRewriters(analyzerResults, solutionConfiguration); }
public ProjectPort(AnalyzerResult analyzerResult, PortCoreConfiguration projectConfiguration, SolutionPort solutionPort, ILogger logger = null) { if (logger != null) { LogHelper.Logger = logger; } _solutionPort = solutionPort; _projectRewriterFactory = new PortCoreProjectRewriterFactory(); ProjectReferences = new HashSet <string>() { Constants.ProjectRecommendationFile }; InitProjectRewriter(analyzerResult, projectConfiguration); }
public SolutionRewriter(IDEProjectResult projectResult, List <ProjectConfiguration> solutionConfiguration, IProjectRewriterFactory projectRewriterFactory = null) { DownloadResourceFiles(); _projectRewriterFactory = projectRewriterFactory ?? new DefaultProjectRewriterFactory(); var projectConfiguration = solutionConfiguration.FirstOrDefault(s => s.ProjectPath == projectResult.ProjectPath); if (projectConfiguration != null) { var projectRewriter = _projectRewriterFactory.GetInstance(projectResult, projectConfiguration); _projectRewriters = new List <ProjectRewriter> { projectRewriter }; } }