public async Task <Model.Snapshot> BuildIndexAsync(string snapshotName, Workspace workspace, CancellationToken cancellationToken = default) { var builder = new SnapshotBuilder() { Name = snapshotName }; _logger.LogInformation("Generating Snapshot Index..."); foreach (var project in workspace.CurrentSolution.Projects) { var projectBuilder = new ProjectBuilder(builder); await IndexProjectAsync(project, projectBuilder, cancellationToken); builder.Projects.Add(projectBuilder); } var snapshot = builder.Build(); _logger.LogInformation("Generated Snapshot Index."); return(snapshot); }
public ProjectBuilder(SnapshotBuilder snapshot) { Snapshot = snapshot ?? throw new ArgumentNullException(nameof(snapshot)); }